1. .gradle 和.idea 这两个目录下放置的都是 Android Studio 自动生成的一些文件,我们无须关心,也不要去手 动编辑。
2. app 项目中的代码、资源等内容几乎都是放置在这个目录下的,后面的开发工作也基本都是 在这个目录下进行的。
3. build 这个目录也不需要过多关心,它主要包含了一些在编译时自动生成的文件。
4. gradle 这个目录下包含了gradle wrapper的配置文件,使用gradle wrapper的方式不需要提前将gradle 下载好,而是会自动根据本地的缓存情况决定是否需要联网下载 gradle。Android Studio 默认没有 启用gradle wrapper的方式,如果需要打开,可以点击Android Studio导航栏→File→Settings→Build, Execution, Deployment→Gradle,进行配置更改。
5. .gitignore 这个文件是用来将指定的目录或文件排除在版本控制之外的.
6. build.gradle 这是项目全局的 gradle 构建脚本,通常这个文件中的内容是不需要修改的。
7. gradle.properties 这个文件是全局的 gradle 配置文件,在这里配置的属性将会影响到项目中所有的 gradle 编译 脚本。
8. gradlew 和 gradlew.bat 这两个文件是用来在命令行界面中执行 gradle 命令的,其中 gradlew 是在 Linux 或 Mac 系统 中使用的,gradlew.bat 是在 Windows 系统中使用的。
9. HelloWorld.iml iml 文件是所有 IntelliJ IDEA 项目都会自动生成的一个文件(Android Studio 是基于 IntelliJ IDEA 开发的),用于标识这是一个 IntelliJ IDEA 项目,我们不需要修改这个文件中的任何内容。
10. local.properties 这个文件用于指定本机中的 Android SDK 路径,通常内容都是自动生成的,我们并不需要修改。 除非你本机中的 Android SDK 位置发生了变化,那么就将这个文件中的路径改成新的位置即可。
11. settings.gradle 这个文件用于指定项目中所有引入的模块。由于 HelloWorld 项目中就只有一个 app 模块,因 此该文件中也就只引入了 app 这一个模块。通常情况下模块的引入都是自动完成的,需要我们手 动去修改这个文件的场景可能比较少。 现在整个项目的外层目录结构已经介绍完了。你会发现,除了 app 目录之外,大多数的文件 和目录都是自动生成的,我们并不需要进行修改。想必你已经猜到了,app 目录下的内容才是我 们以后的工作重点,展开之后结构如图 1.29 所示。
1. build 这个目录和外层的 build 目录类似,主要也是包含了一些在编译时自动生成的文件,不过它 里面的内容会更加更杂,我们不需要过多关心。
2. libs 如果你的项目中使用到了第三方 jar 包,就需要把这些 jar 包都放在 libs 目录下,放在这个目 录下的 jar 包都会被自动添加到构建路径里去。
3. androidTest 此处是用来编写 Android Test 测试用例的,可以对项目进行一些自动化测试。
4. java 毫无疑问,java 目录是放置我们所有 Java 代码的地方,展开该目录,你将看到我们刚才创建 的 HelloWorldActivity 文件就在里面。
5. res 这个目录下的内容就有点多了。简单点说,就是你在项目中使用到的所有图片、布局、字符 串等资源都要存放在这个目录下。当然这个目录下还有很多子目录,图片放在 drawable目录下,布 局放在 layout目录下,字符串放在 values目录下,所以你不用担心会把整个 res目录弄得乱糟糟的。
6. AndroidManifest.xml 这是你整个 Android 项目的配置文件,你在程序中定义的所有四大组件都需要在这个文件里 注册,另外还可以在这个文件中给应用程序添加权限声明。由于这个文件以后会经常用到,我们 用到的时候再做详细说明。
7. test 此处是用来编写 Unit Test 测试用例的,是对项目进行自动化测试的另一种方式。
8. .gitignore 这个文件用于将 app 模块内的指定的目录或文件排除在版本控制之外,作用和外层 的.gitignore 文件类似。
9. app.iml IntelliJ IDEA 项目自动生成的文件,我们不需要关心或修改这个文件中的内容。
10. build.gradle 这是 app 模块的 gradle 构建脚本,这个文件中会指定很多项目构建相关的配置,我们稍后将 会详细分析 gradle 构建脚本中的具体内容。
11. proguard-rules.pro 这个文件用于指定项目代码的混淆规则,当代码开发完成后打成安装包文件,如果不希望代 码被别人破解,通常会将代码进行混淆,从而让破解者难以阅读