如果AS完全还没摸懂的,建议先看下Android开发工具全面转向Android Studio(2)——AS project/module的CRUD。
注:以下以Windows平台为标准,AS以目前最新稳定版1.4.1为准。
1、其实AS project/module的目录结构很简单,我浓缩成2张图给总结了,先看图,再看下面的文字,因为还有些细节图上体现不出来(我这个图上的项目来源于我之前的Eclipse项目,并且有lib项目库相互依赖)
2、上面的图很直观,但也很眼花缭乱,我再针对图总结下重点和疑问点。
①在AS的世界里,文件夹都以模块(module)为单位组织的,其实所谓的项目project也一样,上一篇Android开发工具全面转向Android Studio(2)——AS project/module的CRUD中就出现删除一个project就会提示cannot rename root module,那是因为可以在.idea/modules.xml中找到如下图所示,在编译时全部都以module同等对待,只不过在项目组织中,project是个root module而已。
既然project也是模块,module也是模块,那么他们就有共同的东西,在AS中,XXX.iml、build.gradle以及build文件夹就是模块共同的。
如上面的project中有_workspace_android_as.iml和build.gradle
比如appStore module中也有appStore.iml、build.gradle以及build文件夹
②毕竟project是比较大的概念,那么它一定得还有些module没有的东西,那就是:.gradle文件夹、.idea文件夹、gradle文件夹、gradle、local.properties和settings.gradle等。
以.开头的基本上就不用理会了,比较重要的是:gradle文件夹是gradle wrapper,local.properties是配置SDK,NDK路径的,而settings.gradle是一个很重要的文件,用于描述改project下有哪些module,或者说只有在这个project的settings.gradle注册过的module AS才认为是这个project的module。
③module之所以不是project肯定也有一些特殊之处,那就是含有资源文件,包括libs目录(eclipse项目中libs/*.jar文件)、assets目录(eclipse项目中assets)、java目录(eclipse项目中src)、jniLibs目录(eclipse项目中libs/XXXX/*.so文件)、res目录、AndroidManifest.xml。另外在module中build目录相当于eclipse项目中bin目录,而build.gradle更像eclipse项目中的project.properties,但是比project.properties强悍多了
原创随笔,转载注明出处。