Android Studio 项目文件夹布局详解

打印 上一主题 下一主题

主题 1944|帖子 1944|积分 5832


Android Studio 的项目布局依照一定的规范和约定,了解这些布局对于高效开发至关重要。下面我将详细先容标准的 Android 项目文件夹布局及其各部分功能。
一、项目视图概览


在 Android Studio 中,可以通过多种视图查看项目布局,最常用的是 Android 视图Project 视图
1. Android 视图(简化视图)

  1. 项目名称/
  2. ├── app/
  3. │   ├── manifests/
  4. │   ├── java/
  5. │   ├── res/
  6. │   └── Gradle Scripts/
  7. ├── Gradle Scripts/
  8. └── 其他模块/
复制代码
2. Project 视图(完备物理布局)

  1. 项目名称/
  2. ├── .gradle/             // Gradle 构建系统生成的文件
  3. ├── .idea/              // IDE 配置文件
  4. ├── app/                // 主模块
  5. │   ├── build/          // 构建输出
  6. │   ├── libs/           // 本地库文件
  7. │   ├── src/            // 源代码和资源
  8. │   │   ├── androidTest // 仪器测试
  9. │   │   ├── main/       // 主源代码
  10. │   │   │   ├── assets/ // 原始资源文件
  11. │   │   │   ├── java/   // Java/Kotlin 源代码
  12. │   │   │   ├── res/    // 应用资源
  13. │   │   │   └── AndroidManifest.xml
  14. │   │   └── test/       // 单元测试
  15. │   └── build.gradle    // 模块级构建配置
  16. ├── gradle/             // Gradle 包装器文件
  17. ├── build/              // 项目级构建输出
  18. └── settings.gradle     // 项目设置文件
复制代码
二、焦点目录详解

1. 项目根目录文件

文件/目录说明settings.gradle定义项目包含哪些模块build.gradle (项目级)项目级别的构建设置gradle.propertiesGradle 设置属性local.properties本地情况设置(SDK路径等)gradlew / gradlew.batGradle 包装器脚本 2. app 模块目录(主模块)

2.1 manifests/

包含 AndroidManifest.xml 文件,定义:


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

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


  • main/java/ - 主源代码
  • test/java/ - 本地单元测试(JUnit)
  • androidTest/java/ - 仪器化测试(运行在设备上)
2.3 res/ - 资源目录

  1. res/
  2. ├── drawable/       // 位图和矢量图
  3. ├── drawable-v24/   // API 24+特定资源
  4. ├── layout/         // UI布局文件
  5. ├── mipmap/         // 应用图标(不同密度)
  6. ├── values/         // 简单值资源
  7. │   ├── colors.xml  // 颜色定义
  8. │   ├── strings.xml // 字符串资源
  9. │   ├── styles.xml  // 样式定义
  10. │   └── dimens.xml  // 尺寸定义
  11. ├── anim/           // 动画资源
  12. ├── font/           // 字体文件
  13. ├── raw/            // 原始资源文件
  14. └── xml/            // 其他XML配置
复制代码
2.4 assets/

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


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

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


  • 应用插件(com.android.application/library)
  • android 设置(compileSdkVersion, defaultConfig等)
  • 依赖项(dependencies)
三、构建系统相干目录


1. .gradle/

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


  • 构建缓存
  • 保卫历程文件
  • 通常不必要手动修改
2. build/

构建输出目录,包含:


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

包含 Gradle 包装器文件:


  • wrapper/gradle-wrapper.jar - 包装器实现
  • wrapper/gradle-wrapper.properties - 设置使用的Gradle版本
四、多模块项目布局

大型项目通常接纳多模块布局:
  1. 项目名称/
  2. ├── app/                // 主应用模块
  3. ├── feature-auth/       // 功能模块(如认证)
  4. ├── library-core/       // 核心库模块
  5. ├── library-network/    // 网络库模块
  6. └── 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设置文件,如:


  • 网络安全性设置
  • 首选项设置
  • 备份规则

六、最佳实践


  • 合理构造包布局

    • 按功能而非范例分包
    • 示例:
      1. com.example.app/
      2. ├── auth/          // 认证相关
      3. ├── home/          // 首页相关
      4. ├── profile/       // 个人资料
      5. ├── data/          // 数据层
      6. │   ├── local/     // 本地数据
      7. │   └── remote/    // 远程数据
      8. └── utils/         // 工具类
      复制代码

  • 资源文件命名

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

  • 模块化设计

    • 将独建功能拆分为模块
    • 公共代码提取为库模块

  • 版本控制忽略
    合理的 .gitignore 应包含:
    1. .gradle/
    2. .idea/
    3. build/
    4. local.properties
    5. *.iml
    复制代码
七、常见标题


  • 找不到R文件

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

  • 资源文件冲突

    • 确保同名资源不在同一目录
    • 使用资源限定符(如 drawable-en/)

  • 模块依赖标题

    • 确保在 settings.gradle 中包含了全部模块
    • 检查模块 build.gradle 中的依赖声明

  • 构建速度慢

    • 启用Gradle缓存:org.gradle.caching=true
    • 设置Gradle保卫历程内存

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

自由的羽毛

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表