Android 项目结构
Android 项目结构
- .gradle 和 .idea 目录:AS 自动生成的一些文件,无须关心。
- app 目录:存放项目中的代码和资源等,开发工作的主要目录。
- build 目录:主要包含了一些在编译时自动生成的文件,也不必过多关心。
- gradle 目录:包含了 gradle wrapper 的配置文件,使用 gradle wrapper 的方式不需要提前将 gradle 下载好,而是会根据本地的缓存情况决定是否需要联网下载 gradle。AS 默认是启动 gradle wrapper 方式的,如果需要更改成离线模式,可以点击 AS 导航栏 -> File -> Settings -> Build,Execution,Deployment -> Gradle,进行配置更改。
- .gitignore 文件:用来将指定的目录或文件排除在版本控制之外的。
- build.gradle 文件:项目全局的 gradle 构建脚本。
- gradle.properties 文件:全局的 gradle 配置文件,在这里配置的属性将会影响到项目中所有的 gradle 编译脚本。
- gradlew 和 gradlew.bat 文件:用来在命令行界面中执行 gradle 命令的,前者是在 Linux 或 Mac 系统中使用的,或者是在 Windows 系统中使用的。
- 项目名称.iml 文件:.iml 文件是所有 IntelliJ IDEA 项目都会自动生成的一个文件(AS 是基于 IntelliJ IDEA 开发的),用于标识这是一个 IntelliJ IDEA 项目。不需要修改它的任何内容。
- local.properties 文件:用于指定本机中的 Android SDK 路径。
- settings.gradle 文件:用于指定项目中所有引入的模块。
app 目录结构
- build 目录:包含了一些在编译时自动生成的文件。
- libs 目录:存放项目中使用到的第三方 jar 包,并会自动添加到项目的构建路径里。
- androidTest 目录:用于编写 Android Test 测试用例的,可对项目进行一些自动化测试。
- java 目录:用于存放代码,包括 Java 和 Kotlin。
- res 目录:存放各种资源。两种方式引用它们:代码中 R.string.name,XML 中 @string/name。其中 string 可替换为相应资源。
- drawable 目录:目前最主流设备分辨率是 drawable-xxhdpi 目录,图片放这就行。
- mipmap 目录:存放应用图标。
- layout 目录:存放布局文件。
- values 目录:存放字符串、样式、颜色等配置的。
- AndroidManifest.xml 文件:整个 Android 项目的配置文件。
- test 目录:用来编写 Unit Test 测试用例的,是对项目进行自动化测试的另一种方式。
- .gitignore 文件:用于将 app 模块内指定的目录或文件排除在版本控制之外。
- app.iml 文件:IntelliJ IDEA 项目自动生成的文件,无须理会。
- build.gradle 文件:这是 app 模块的 gradle 构建脚本,这个文件中会指定很多项目构建相关的配置。
- proguard-rules.pro 文件:用于指定项目代码的混淆规则。
build.gradle 文件
AS 采用 Gradle 来构建项目。Gradle 是一个非常先进的项目构建工具,它使用了一种基于 Groovy 的领域特定语言(DSL)来进行项目设置,摒弃了传统基于 XML (如 Ant 和 Maven)的各种烦琐配置。
最外层目录下的 build.gradle 文件:
1 |
|
app 目录下的 build.gradle 文件:
1 | // 此插件表示这是一个应用模块(library 则表示库模块。应用模块可直接运行,库模块需依附于别的应用模块来运行) |
链接
参考资料:
第一行代码(第3版)