Android Studio项目结构
Android结构
Project结构
Module结构
一. Android结构
二.Project结构
1. 外层目录
2. .gradle目录
gradle运行时自动生成的目录,一般情况不做修改,不需要纳入项目源代码管理中。
3. .idea目录
- Intellij IDEA 运行时候生成的文件目录,一般情况不做修改,不需要纳入项目源代码管理中。
- Intellij IDEA是JetBrains公司推出的Java集成开发环境,Android Studio是基于IDEA Commutity Edition开发的。
4. moudle(app)目录
- 每一个module可看成在Eclipse中的一个Project,里面的文件结构与父类差不多。
- 里面也能包含build.gradle、gradle.properties、setting.gradle 等相关gradle文件,若没有定义,则在项目中使用父类的设置。
5. gradle目录
wrapper目录下有两个文件,里面有一些项目对gradle的配置信息
gradle-wrapper.properties里的内容:声明了gradle的目录与下载路径以及当前项目使用的gradle版本。默认的路径我们一般不会更改。
6. .gitignore文件
git对项目文件管理,在里面添加你不希望纳入git管理的文件
- Android Studio已经自动帮我们添加了一些不需要的文件,我们可以按照同样的格式来加入自己的文件。
7. build.gradle文件
项目的编译环境配置,可以说是Gradle最主要的配置文件。
这里是对Project的配置,是最顶层的配置,在module中同样有一个build.gradle文件,是对module的配置,如果module里没有进行配置,将使用这里的配置信息。
一个是声明仓库的源,这里可以看到是指明的jcenter(), jcenter可以理解成是一个新的中央远程仓库,兼容maven中心仓库,而且性能更优。另一个是声明了android gradle plugin的版本。
8. gradle.properties文件
配置gradle运行环境的文件,比如配置gradle运行模式,运行时jvm虚拟机的大小。在创建的项目中,暂时是没有内容的。
9. gradlew & gradlew.bat 文件
分别是linux下的shell脚本和windows下的批处理文件,它们的作用是根据gradle-wrapper.properties文件中的distributionUrl下载对应的gradle版本。这样就可以保证在不同的环境下构建时都是使用的统一版本的gradle,即使该环境没有安装gradle也可以,因为gradle wrapper会自动下载对应的gradle版本。
10. local.properties文件
配置android NDK,SDK的地方,非android项目可能没有这个文件,这个路径根据不同想电脑不同,一般也不会纳入源代码管理之中。
11. 工程名.iml文件
编译项目时生成的文件,其名为‘项目名.iml’,iml文件是Android Studio识别项目的配置文件,跟Eclipse里面的.project文件作用类似。
12. setting.gradle文件
声明当前项目中含有什么module。如果有多个module会以‘,’分开,如:include ‘:app’, ‘:app2’
三. Module结构
1. build目录
module的编译文件目录,编译中生成的中间文件就在这里。
编译最终生成的apk就在build/outputs/apk目录下,里面包含了app-debug.apk, app-debug-unaligned.apk,app-release-unaligned.apk三种apk, 另外app-release.apk是生成在module的根目录下。
2. lib目录
第三方库存放目录,我们可以把需要的第三方库jar文件放到这里,
*.so
也同样放在这里。可以在Project Structure中管理它的依赖关系,也可以在build.gradle中直接修改。3. src目录
module源码目录,我们工作的主要地方。
4. .gitignore文件
module模块的git管理文件,可对module单独管理。
5. app.iml文件
同Project中的
*.iml
一样。管理module的配置。6. build.gradle文件
Module的gradle配置文件,也可以算是整个项目最主要的gradle配置文件。
7. proguard-rules.pro文件
module中的代码混淆配置文件,使用方式和Eclipse中一样。
参考文章: