Android Studio 工程目录结构
前言
Android Studio 2.0已经发布,相信越来越多的Adroid开发者已经抛弃了Eclipse,转投google亲儿子的怀抱。
而Android Studio 让习惯了Eclipse的人第一个不适应的地方,应该就是工程目录的结构。在Eclipse下,一个Workspace可以放各种不同的工程,而在Adroid Studio中淡化了Workspace的概念,而使用工程代替,而工程中的一个Module 等同于Eclipse中的工程。关于这方面的知识就不赘述。
最近由于工作内容涉及的工程很多,而一个工程又有多个工程的依赖,不同的工程对于依赖工程的分支还不同,那么这样的情况该如何处理呢?
推荐结构
首先将Android Studio工程面板的试图切换到 Project
- AdroidProject
- project1
- project2
- LibraryOne
- LibraryOneProject1
- LibraryOneProject2
- LibraryOneProject3
- LibraryTwo
- LibraryTwoProject1
- LibraryTwoProject2
- LibraryTwoProject3
这样的结构看起来就比较清晰了,所有的可执行的工程放在AndroidProject下,而依赖的工程则放在Library下,如果不同的工程需要依赖同一个Library的不同分支,可以建立多个Library目录,这样在运行不同的工程时就不需要来回的切换分支了。那么目录结构确定了,应该如何实现这样的结构呢。
实现这样的结构
其实实现这样的结构很简单,在项目根目录下的setting.gradle中指定
include ':LibraryOne'
project(":LibraryOne").projectDir = new File("../LibraryOne");
include ':LibraryOne:LibraryOneProject1'
include ':LibraryOne:LibraryOneProject2'
include ':LibraryOne:LibraryOneProject3'
include ':LibraryTwo'
project(":LibraryTwo").projectDir = new File("../LibraryTwo");
include ':LibraryTwo:LibraryTwoProject1'
include ':LibraryTwo:LibraryTwoProject2'
include ':LibraryTwo:LibraryTwoProject3'
这样工程的目录下就会生成我们想要的目录结构了。接着在工程中引用时,在一个Module的根目录的build.gradle中dependencies节点下添加
compile ':LibrarOne:LibraryOneProject1'
compile ':LibraryOne:LibaryOneProject3'
compile ':LibraryTwo:LibarryTwoProject2'
就可以实现 对LibraryOneProject1、LibaryOneProject3、LibarryTwoProject2的引用。这样的结构也使得你的工作空间看起来整洁了很多。