刚创建完第一个 Android 项目时,Android Studio 会提供多种项目视图模式。Project 模式展示的是项目的真实物理目录结构,非常适合新手理解项目的全貌。下面基于 Project 模式,对项目中的核心文件和文件夹进行解析。


外层目录(项目根目录)
一、 app 目录
项目中几乎所有的代码、资源文件都集中在这个目录下,后续开发主要操作的就是这个目录。
二、 gradle 目录
包含 Gradle Wrapper 的配置文件。使用 Gradle Wrapper 的好处是:不需要提前手动下载 Gradle,它会根据本地缓存情况自动决定是否联网下载。
Android Studio 默认未启用 Gradle Wrapper,如需开启,可进入导航栏
File → Settings → Build, Execution, Deployment → Gradle进行配置。
三、 .gitignore
用于将指定的目录或文件排除在版本控制之外。打开该文件,常见排除项包括:
*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
.externalNativeBuild
四、 build.gradle
项目全局的 Gradle 构建脚本,通常不需要修改。
五、 gradle.properties
全局的 Gradle 配置文件,在这里配置的属性会影响项目中所有 Gradle 编译脚本。
六、 build 目录
编译时自动生成的文件,无需过多关心。
七、 MyApplication.iml
IntelliJ IDEA(Android Studio 基于它开发)自动生成的文件,用于标识这是一个 IDEA 项目,不要手动修改。
八、 gradlew 和 gradlew.bat
用于在命令行界面中执行 Gradle 命令:
gradlew:Linux / Mac 系统使用gradlew.bat:Windows 系统使用
九、 local.properties
指定本机 Android SDK 路径,内容由 AS 自动生成。除非 SDK 位置发生变化,否则不需要修改。
sdk.dir=C\:\\Users\\YY\\AppData\\Local\\Android\\Sdk
十、 settings.gradle
用于指定项目中所有引入的模块。目前只有一个 app 模块,因此文件中只引入了 app。模块引入通常是自动完成的,很少需要手动修改。
重点:app 目录详解
app 目录下包含项目实际开发所需的所有核心内容:
1. build
与外层 build 目录类似,包含编译时自动生成的文件,内容更多更杂,无需过多关心。
2. libs
存放第三方 .jar 包。放在此目录下的 jar 包会被自动添加到构建路径中。
3. androidTest
用于编写 Android Test 测试用例,可对项目进行自动化测试。
4. java
放置所有 Java / Kotlin 代码的地方。展开目录即可看到系统自动生成的 MainActivity 文件。

5. res
资源目录,包含项目中用到的所有图片、布局、字符串等资源:
| 资源类型 | 存放位置 |
|---|---|
| 图片 | drawable 目录 |
| 布局 | layout 目录 |
| 字符串 | values 目录 |
合理分类,不会显得杂乱。
6. AndroidManifest.xml
整个 Android 项目的配置文件。四大组件(Activity、Service、BroadcastReceiver、ContentProvider)都需要在此注册,还可以声明应用所需的权限。

7. test
用于编写 Unit Test 测试用例,是另一种自动化测试方式。
8. .gitignore
将 app 模块内指定的目录或文件排除在版本控制之外,作用与外层 .gitignore 类似。

9. app.iml
IntelliJ IDEA 自动生成的文件,无需关心或修改。
10. build.gradle(Module 级)
app 模块的 Gradle 构建脚本,包含大量项目构建相关的配置(如依赖库、编译版本、应用 ID 等),是开发中最常修改的配置文件之一。
11. proguard-rules.pro
指定项目代码的混淆规则。正式打包发布时,开启混淆可以有效防止代码被反编译破解。