android工程目录结构

App工程分为两个层次,一个层次是项目,另一个层次是模块
模块依附于项目,每个项目至少有一个模块,也能拥有多个模块
一般所言的"编译运行App",指的是运行某个模块,而非运行某个项目,因为模块才对应实际App
App项目下面有两个分类:app(代表app模块)、Gradle Scripts

app下面有3个子目录,Gradle Scripts下面主要是工程的编译配置文件

app下面3个子目录:

(1)manifests:下面只有一个XML文件,即AndroidManifest.xml,它是App的运行配置文件。

(2)java:下面有3个com.example.myapp包,其中第一个包存放当前模块的java源代码,后面两个包存 放测试用的java代码。

(3)res:存放当前模块的资源文件。res下面又有4个子目录

  • drawable:存放图形描述文件与图片文件
  • layout:存放app的页面的布局文件
  • mipmap:存放app的启动图标
  • values:存放一些常量定义文件,例如字符串常量string.xml、像素常量dimens.xml、颜色常量colors.xml、样式风格定义styles.xml等。

Gradle Scripts下面主要主要文件有:

(1)build.gradle:该文件分为项目级与模块级两种,用于描述app工程的编译规则。

(2)proguard-rules.pro:该文件用于描述java代码的混淆规则。

(3)gradle.properties:该文件用于配置编译工程的命令行参数,一般无需改动。

(4)settings.gradle:该文件配置了需要编译哪些模块。初始内容为include:'app',表示只编译app模块。

(5)local.properties:项目的本地配置文件,它在工程编译时自动生成,用于描述开发者电脑的环境配置,包括SDK的本地路径、NDK的本地路径等。

Gradle是一个项目自动化构建工具,帮我们做了依赖、打包、部署、发布、各种渠道的差异管理等工作

相关推荐
小孔龙1 小时前
VSync 与同步屏障:doFrame() 的优先调度
android·性能优化
kfzjw0081 小时前
Android 的一帧完整渲染流程:从 VSYNC 到 Screen 的全链路解密
android
wWYy.2 小时前
Mysql:覆盖索引
android·数据库·mysql
Kapaseker2 小时前
如果我要从 List 中获取一段元素
android·kotlin
三少爷的鞋2 小时前
一次朋友圈发布流程,理解 Kotlin 协程为什么重新定义异步代码组织方式
android
FungLeo3 小时前
Flutter/Android Release 包连不上网?AndroidManifest INTERNET 权限排查实录
android·flutter
wWYy.5 小时前
Mysql:一行数据是怎么存储的?
android·数据库·mysql
漏刻有时12 小时前
PHP GeoJSON转PNG地图渲染程序开发笔记、源码解读、问题复盘与整改方案
android·笔记·php
-SOLO-13 小时前
解决VMware 显示比例被重置的问题
android
alexhilton14 小时前
探究Android Views、Flutter和Compose如何渲染你的UI
android·kotlin·android jetpack