工程目录
- app
项目中的代码、资源等内容几乎都是放置在这个目录下的,我们后面的开发工作也基本都是在这个目录下进行的,待会儿还会对这个目录单独展开进行讲解。
- .gradle和.idea
这两个目录下放置的都是Android Studio自动生成的一些文件,我们无须关心,也不要去手动编辑。
- build
这个目录你也不需要过多关心,它主要包含了一些在编译时自动生成的文件。
- gradle
这个目录下包含了gradle wrapper的配置文件,使用gradle wrapper的方式不需要提前将gradle下载好,而是会自动根据本地的缓存情况决定是否需要联网下载gradle。Android Studio默认没有启动gradle wrapper的方式,如果需要打开,可以点击Android Studio导航栏 --> File --> Settings --> Build,Execution,Deployment --> Gradle,进行配置更改。
- .gitignore
这个文件是用来将指定的目录或文件排除在版本控制之外的。
- build.gradle
这是项目全局的gradle构建脚本,通常这个文件中的内容是不需要修改的。下面会详细分析gradle构建脚本中的具体内容。
- gradle.properties
这个文件是全局的gradle配置文件,在这里配置的属性将会影响到项目中所有的gradle编译脚本。
- gradlew和gradlew.bat
这两个文件是用来在命令行界面中执行gradle命令的,其中gradlew是在Linux或Mac系统中使用的,gradlew.bat是在Windows系统中使用的。
- xxxxxx(工程名).iml
iml文件是所有IntelliJ IDEA项目都会自动生成的一个文件(Android Studio是基于IntelliJ IDEA开发的),用于标识这是一个IntelliJ IDEA项目,我们不需要修改这个文件中的任何内容。
- local.properties
这个文件用于指定本机中的Android SDK路径,通常内容都是自动生成的,我们并不需要修改。除非你本机中的Android SDK位置发生了变化,那么就将这个文件中的路径改成新的位置即可。
- settings.gradle
这个文件用于指定项目中所有引入的模块。由于xxxx项目中就只有一个app模块,因此该文件中也就只引入了app这一个模块。通常情况下模块的引入都是自动完成的,需要我们手动去修改这个文件的场景可能比较少。
Android APP 目录结构
APP文件
-
manifests
- AndroidManifest.xml
App配置信息(名称、版本、SDK、权限、四大组件注册等等)
- AndroidManifest.xml
-
java (编程)
- com.example.xxxx.myapplication
项目目录和代码 - com.example.xxxx.myapplication(androidTest)
自动化测试代码 - com.example.xxxx.myapplication(test)
单元测试代码,是对项目进行自动化测试的另一种方式
- com.example.xxxx.myapplication
-
res(资源)
- drawable(存储一些xml文件,-*dpi表示存储分辨率的图片,用于适配不同的屏幕)
ic_launcher_background.xml
ic_launcher_foreground.xml(v24) - layout
activity_main.xml(布局及界面元素配置 ) - mipmap(存储原声图片资源)
ic_launcher.png
ic_launcher.xml(anydpi-v26)
ic_launcher_round.png
ic_launcher_round.xml(anydpi-v26)
- drawable(存储一些xml文件,-*dpi表示存储分辨率的图片,用于适配不同的屏幕)
-
values(存储app引用的一些值,可以不断自定义)
- colors.xml(存储了一些color的样式)
- strings.xml(存储了引用的string值 )
- styles.xml (存储了app需要用到的一些样式 )
Gradle Scripts
- build.gradle(Project:MyApplication2)
- bulid.gradle(Module:app)
项目全局的gradle构建脚本,通常这个文件中的内容是不需要修改的。
- gradle-wrapper.properties(Gradle Version)
配置文件:使用gradle wrapper的方式不需要提前将gradle下载好,而是会自动根据本地的缓存情况决定是否需要联网下载gradle。
- proguard-rules.pro(ProGuard Rules for app)
这个文件用于指定项目代码的混淆规则,当代码开发完成后打成安装包文件,如果不希望代码被别人破解,通常会将代码混淆,从而让破解者难以阅读。
- gradle.properties(Project Properties)
全局的gradle配置文件,在这里配置的属性将会影响到项目中所有的gradle编译脚本。
- settings.gradle(Project Settings)
这个文件用于指定项目中所有引入的模块。由于HelloWorld项目中就只有一个app模块,因此该文件中也就只引入了app这一个模块。通常情况下模块的引入都是自动完成的,需要我们手动去修改这个文件的场景可能比较少。
- local.properties(SDK Location)
这个文件用于指定本机中的Android SDK路径,通常内容都是自动生成的,我们并不需要修改。除非你本机中的Android SDK位置发生了变化,那么就将这个文件中的路径改成新的位置即可。
网友评论