Android Studio里项目的各目录与文件

一、总项目的目录结构

我们使用Android Studio创建安卓项目成功后,就会出现以下这个文件结构:

  1. .idea是自动生成的文件,无需理会。

  1. app为最重要的文件,里面放置的便是项目的代码文件和资源文件。

  1. gradle,顾名思义,就是构建项目的gradle。为了使得构建你的app项目方便管理,使用gradle是最好的。而gradle文件里面包含gradlewrapper配置文件,使用gradle wrapper方式会自动联网下载gradle,,当然AndroidStudio会首先检查本地是否有缓存gradle,没有就会自动联网下载gradle,这样就不用自己先下载gradle。

  1. .gitignore文件,将指定的文件排除在版本控制之外。

  1. build.gradle,项目全局的gradle构建脚本,也是重要的文件之一。

  1. gradle.properties,全局的gradle配置文件,这里配置的属性能影响到项目所有的gradle编译脚本。

  1. gradlew和gradlew.bat,用于在命令行界面下执行gradle命令,gradlew在linux和mac中执行,gradlew.bat则在windows下执行。

  1. local.properties,本机中AndroidSDK的路径,一般自动生成,除非发生变化,则要修改。

  1. setting.gradle,用于指定项目中所有引入的模块。一般可自动生成,也可自行设置,比如引入flutter模块时,可在此文件上设置该模块路径等。

二、app目录下的结构

app该目录是最重要的,因为它就是项目源码的所在地方,它的目录结构如下:

  1. libs,如项目需用到第三方jar包(比如百度地图,极光推送等),则需要将这些jar包放到此目录下。

  1. src,有三个目录,androidTest目录用来编写Android Test测试用例的,进行自动化测试用的。test目录则用来编写Unit Test测试用的,也是进行自动化测试用的。main目录中的java目录则是存放所有你的项目源代码,res目录则存放资源文件,资源文件是什么,就是你的布局文件,字符串文件,图片文件等,都放此目录,当然布局文件存放在layout目录,字符串文件等放在values目录,图标则放在mipmap目录下,图片则放在drawable目录下。最后,还有一个文件AndroidManifest.xml文件,它是注册四大组件的,还可以添加应用权限。

  1. .gitignore,将app中的文件和目录排除在版本控制之外。

  1. build.gradle文件,app模块的gradle构建脚本,指定项目构建相关的配置。

  1. proguard-rules.pro,是混淆文件,指定项目代码的混淆规则,为了防止apk文件被别人破解时采取混淆代码。

三、最外层目录下的build.gradle文件和app目录下的build.gradle文件

  1. 最外层目录下的build.gradle文件,它的代码如图所示:

buildscript意思构建描述,repositories里声明的google()和jcenter()分别表示添加Google自己的官方扩展依赖库。一些第三方的开源库声明了这两个库,那么项目中就可以轻松引用这些仓库中的依赖库了。Dependencies里声明的是Gradle插件,因为Gradle插件不仅仅为构建Android项目服务的,它还可以构建java项目和C++项目的,所以要声明Gradle插件是构建Android项目的,版本号跟Android Studio的版本号一致。allprojects里的声明同上,不解释了。

  1. app目录下的build.gradle文件,它的代码如图所示:

第一行,apply是引用了com.android.application这个插件,代表它是一个应用程序模块,还可以apply另外一种模块,就是com.android.library模块,它表示库模块。两个模块的区别在于应用程序模块是可以直接运行,库模块是依附于应用程序模块的。

接下来就是android闭包,compileSdkVersion为指定项目的编译版本。29是表示使用Android 10.0系统的SDK编译。buildToolsVersion,指定构建项目工具的版本。

defaultConfig里的applicationId,指定项目的包名,包名是唯一性,是应用的唯一标识。minSdkVersion指定最低的兼容的Android系统版本,targetSdkVersion则指定目前使用到最高的Android系统版本。versionCode指定项目版本号,versionName则指定项目版本名。

buildType里则是指定了项目生成安装文件的相关配置,其中可指定release和debug。debug表示生成的是测试版安装包,可以不写上去,而release则是指定正式版安装文件的。minifyEnabled表示是否使用混淆,而它的下一行则是设置使用的混淆文件。这里补充一点,凡是在Android Studio运行生成的都是测试版安装文件。正式版需Bild—Generate Signed Bundle/Apk里产生。

dependencies闭包里则指定了项目所有的依赖关系:本地依赖,库依赖和远程依赖。

本地依赖,对本地的jar包和目录添加依赖关系,implementationfileTree声明,将libs中的.jar文件都添加到构建目录中。

远程依赖,对jcenter仓库的上的开源项目添加依赖关系,也就是平时我们在github上添加的第三方开源库,也是直接implementation,先检查本地是否有缓存,没有就直接联网下载到构建路径。

库依赖,对项目中的库模块进行依赖,implementation project声明,通常格式为implementation project(‘:库名’)

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值