> 技术文档 > Android Studio 项目文件夹结构详解_android项目结构

Android Studio 项目文件夹结构详解_android项目结构


文章目录

    • 一、项目视图概览
      • 1. Android 视图(简化视图)
      • 2. Project 视图(完整物理结构)
    • 二、核心目录详解
      • 1. 项目根目录文件
      • 2. app 模块目录(主模块)
        • 2.1 `manifests/`
        • 2.2 `java/`
        • 2.3 `res/` - 资源目录
        • 2.4 `assets/`
        • 2.5 `build.gradle` (模块级)
    • 三、构建系统相关目录
      • 1. `.gradle/`
      • 2. `build/`
      • 3. `gradle/`
    • 四、多模块项目结构
    • 五、特殊目录和文件
      • 1. `proguard-rules.pro`
      • 2. `res/values/` 下的配置文件
      • 3. `res/xml/`
    • 六、最佳实践
    • 七、常见问题

Android Studio 项目文件夹结构详解_android项目结构

Android Studio 的项目结构遵循一定的规范和约定,了解这些结构对于高效开发至关重要。下面我将详细介绍标准的 Android 项目文件夹结构及其各部分功能。

一、项目视图概览

Android Studio 项目文件夹结构详解_android项目结构

在 Android Studio 中,可以通过多种视图查看项目结构,最常用的是 Android 视图Project 视图

1. Android 视图(简化视图)

项目名称/├── app/│ ├── manifests/│ ├── java/│ ├── res/│ └── Gradle Scripts/├── Gradle Scripts/└── 其他模块/

2. Project 视图(完整物理结构)

项目名称/├── .gradle/ // Gradle 构建系统生成的文件├── .idea/  // IDE 配置文件├── app/ // 主模块│ ├── build/ // 构建输出│ ├── libs/  // 本地库文件│ ├── src/ // 源代码和资源│ │ ├── androidTest // 仪器测试│ │ ├── main/ // 主源代码│ │ │ ├── assets/ // 原始资源文件│ │ │ ├── java/ // Java/Kotlin 源代码│ │ │ ├── res/ // 应用资源│ │ │ └── AndroidManifest.xml│ │ └── test/ // 单元测试│ └── build.gradle // 模块级构建配置├── gradle/ // Gradle 包装器文件├── build/  // 项目级构建输出└── settings.gradle // 项目设置文件

二、核心目录详解

1. 项目根目录文件

文件/目录 说明 settings.gradle 定义项目包含哪些模块 build.gradle (项目级) 项目级别的构建配置 gradle.properties Gradle 配置属性 local.properties 本地环境配置(SDK路径等) gradlew / gradlew.bat Gradle 包装器脚本

2. app 模块目录(主模块)

2.1 manifests/

包含 AndroidManifest.xml 文件,定义:

  • 应用包名
  • 组件声明(Activity, Service等)
  • 权限要求
  • 应用元数据
2.2 java/

源代码目录,通常包含三个子目录:

  • main/java/ - 主源代码
  • test/java/ - 本地单元测试(JUnit)
  • androidTest/java/ - 仪器化测试(运行在设备上)
2.3 res/ - 资源目录
res/├── drawable/ // 位图和矢量图├── drawable-v24/ // API 24+特定资源├── layout/ // UI布局文件├── mipmap/ // 应用图标(不同密度)├── values/ // 简单值资源│ ├── colors.xml // 颜色定义│ ├── strings.xml // 字符串资源│ ├── styles.xml // 样式定义│ └── dimens.xml // 尺寸定义├── anim/  // 动画资源├── font/  // 字体文件├── raw/ // 原始资源文件└── xml/ // 其他XML配置
2.4 assets/

存放原始资源文件,与 res/ 不同:

  • 文件会按原样打包到APK中
  • 需要通过 AssetManager 访问
  • 适合存放数据文件、游戏资源等
2.5 build.gradle (模块级)

模块级别的构建配置,包含:

  • 应用插件(com.android.application/library)
  • android 配置(compileSdkVersion, defaultConfig等)
  • 依赖项(dependencies)

三、构建系统相关目录

Android Studio 项目文件夹结构详解_android项目结构

1. .gradle/

Gradle 构建系统生成的文件,包括:

  • 构建缓存
  • 守护进程文件
  • 通常不需要手动修改

2. build/

构建输出目录,包含:

  • outputs/ - 生成的APK/AAB文件
  • intermediates/ - 中间文件
  • reports/ - 构建报告
  • tmp/ - 临时文件

3. gradle/

包含 Gradle 包装器文件:

  • wrapper/gradle-wrapper.jar - 包装器实现
  • wrapper/gradle-wrapper.properties - 配置使用的Gradle版本

四、多模块项目结构

大型项目通常采用多模块结构:

项目名称/├── app/ // 主应用模块├── feature-auth/ // 功能模块(如认证)├── library-core/ // 核心库模块├── library-network/ // 网络库模块└── build.gradle // 项目级配置

每个模块都有自己的 build.gradle 和结构,类似于主模块。

五、特殊目录和文件

1. proguard-rules.pro

代码混淆规则文件,用于发布构建。

2. res/values/ 下的配置文件

文件 用途 strings.xml 字符串资源 colors.xml 颜色定义 dimens.xml 尺寸定义 styles.xml 样式和主题 arrays.xml 数组资源 attrs.xml 自定义属性

3. res/xml/

用于存放各种XML配置文件,如:

  • 网络安全性配置
  • 首选项配置
  • 备份规则
    Android Studio 项目文件夹结构详解_android项目结构

六、最佳实践

  1. 合理组织包结构

    • 按功能而非类型分包
    • 示例:
      com.example.app/├── auth/ // 认证相关├── home/ // 首页相关├── profile/ // 个人资料├── data/ // 数据层│ ├── local/ // 本地数据│ └── remote/ // 远程数据└── utils/ // 工具类
  2. 资源文件命名

    • 使用小写字母和下划线:btn_submit.xml
    • 前缀表明用途:ic_(图标), bg_(背景)等
  3. 模块化设计

    • 将独立功能拆分为模块
    • 公共代码提取为库模块
  4. 版本控制忽略
    合理的 .gitignore 应包含:

    .gradle/.idea/build/local.properties*.iml

七、常见问题

  1. 找不到R文件

    • 清理并重建项目(Build → Clean Project)
    • 检查XML资源文件是否有错误
  2. 资源文件冲突

    • 确保同名资源不在同一目录
    • 使用资源限定符(如 drawable-en/)
  3. 模块依赖问题

    • 确保在 settings.gradle 中包含了所有模块
    • 检查模块 build.gradle 中的依赖声明
  4. 构建速度慢

    • 启用Gradle缓存:org.gradle.caching=true
    • 配置Gradle守护进程内存

通过理解Android Studio项目结构,您可以更高效地组织代码和资源,构建可维护的Android应用程序。