Android项目包结构
参考:
根目录
.gradle/
:AS自动生成的,无须关心,也不要手动编辑。app/
:项目中的代码、资源等几乎都在这里,后面开发也基本在这里gradle/
:gradle wrapper的配置文件,使用gradle wrapper的方式不需要提前将gradle下载好,而是会自动根据本地的缓存情况决定是否需要联网下载gradle。build.gradle
:项目全局的gradle构建脚本,可参考:AndroidStudio的Gradle基础gradle.properties
:全局的gradle配置文件,这里配置的属性将会影响到项目中所有的gradle编译脚本。gradlew
和gradlew.bat
:用于在命令行界面中执行gradle命令,其中gradlew是在linux或mac系统,gradlew.bat是在windows系统使用。local.properties
:用于指定本机中AndroidSDK路径,通常内容是自动生成,除非本机SDK位置发生变化,否则无须修改。settings.gradle
:用于指定项目中所有引入的模块,新工程demo只有一个app模块,所以该文件中就只引入了app这一个模块。通常模块的引入都是自动完成的。
app目录结构
build
:包含了一些在编译时自动生成的文件,无需过多关心。libs
:若项目中使用到了第三方jar包,就需要把这些jar包都放在libs目录下,放在这个目录下的jar包都会被自动添加到构建路径去。androidTest
:这个是用来编写androidTest测试用例的,可以对项目进行一些自动化测试。java
:放置我们所有的java代码的地方。res
:在項目里用到的所有图片(drawable)、布局(layout)、字符串(values)等资源都要存放在这。AndroidManifest.xml
:整个安卓项目的配置文件,在程序中定义的所有四大组件(Activity、Service、Broadcast Receiver、Content Provider)都需要在这个文件里注册,另外还可以在这里给应用程序添加权限声明。test
:此处是来编写Unit test测试用例的,是对项目进行自动化测试的另一种方式。.gitgnore
:排除版本控制。app.iml
:IntelliJ IDEA项目自动生成的文件,不需关心,无须修改。
build.gradle
:app模块的gradle构建脚本,文件中会指定很多项目构建相关的配置。
细节内容可参考:AndroidStudio的Gradle基础proguard-rules.pro
:用于指定项目代码的混淆规则,当代码开发完成后打成安装包文件,如果不希望代码被人破解,通常会将代码混淆,从而让破解者难以阅读。
res目录结构
drawable开头
放图片mipmap开头
放应用图标layout开头
放布局xml文件values
放字符串、样式、颜色等配置
前缀后面接的“-”后面内容是为了更好地兼容各种设备。(不同分辨率)
res/values/string.xml的内容:
<resources>
<string name="app_name">HelloWorld</string>
</resource>
这里定义了一个应用程序名的字符串,有两种方式引用它:
- 代码中通过
R.string.app_name
可以获得该字符串的引用 - 在XML中通过
@string/app_name
可以获得该字符串的引用