浅谈Android Studio的项目结构
1.先上一张图(咱们看图说话)
项目目录结构-
.gradle文件和.idea文件都是Android Studio自动生成的文件,大多数情况下,我们不需要关心;
-
app文件下就是项目的代码以及一些资源文件,在app文件下有一个build文件夹,该文件夹是在编译时生成的,主要存放了编译后生成的.class文件以及APK;
-
app文件下的libs文件夹主要是放jar包和so文件(.so文件是一种二进制文件,是Linux下的动态链接库,比如C中把几个头文件编译后动态链接在一起生成的文件),so文件通常使用JNI来调用;
-
app文件下的src文件主要存放的是项目的代码以及资源文件;
-
app文件下的.gitignore文件是把当前module下的指定的文件或者目录排除在版本控制之外;
-
app文件下的build.gradle文件是当前module下的gradle构建脚本,我们项目中添加的第三方依赖一般都是在这里面;
-
app文件下的proguard-rules.pro文件也是Android Studio自动生成的文件,通常我们不需要关心;
-
build文件主要包含了编译时自动生成的一些文件,我们不需要关心;
-
gradle文件下主要关心的文件是gradle-wrapper.properties,该文件用于联网下载gradle的版本,如下图所示,在使用gradle wrapper时,Android Studio会根据本地的缓存来决定是否从网络上下载gradle,而使用local gradle是会根据提前下载好的gradle版本来构建;
setting->Build,Execution,Deployment->Gradle -
.gitignore文件是把一些指定的文件或者目录排除在版本控制之外;
-
build.gradle文件是项目全局的gradle构建脚本;
-
gradle.properties文件是.gradle文件的配置文件,该文件中的属性将会影响到项目中所有的.gradle构建脚本;
-
gradlew和gradlew.bat文件是用于执行命令行下的gradle命令,gradlew是在Linux和Mac系统中使用,gradlew.bat是在windows系统下使用;
-
local.properties文件是用来配置SDK路径的,当我们的SDK路径发生改变时,我们就需要修改该文件,指明正确的SDK路径;
-
.iml文件属于IDEA自动生成的文件,一般我们可用它来标识项目是一个IDEA项目;
-
setting.gradle文件是用来设置项目中包含的module,一般我们新建一个项目时,该文件下就只包含app一个module。
2.再提一句
我们在使用Git版本控制工具时,一般会使用到.gitignore文件(全局的.gitignore文件),通常会把如下文件排除在版本控制之外:
.gradle/下的所有文件
.idea/下的所有文件
所有的build文件
local.properties文件
所有的.iml文件