由于目前Android Studio还处于测试版,所以很多功能尚未完善,其中一个就是还不能够自动导入Library Project,这里就介绍下怎么手动导入。


1 Android Studio的目录结构




android studio 使用make project android studio的project_ci




如图,Android Studio(简称AS)的目录结构和Eclipse有所不同,这里的根目录TestApp表示一个项目,相当于Eclipse的WorkSpace,而app相当于Eclipse的Project,但是在AS中app被称作Module,一个项目里可以包含多个Module,这一点大家一定要记住。


对照表

Android Studio

Eclipse

Project

WorkSpace

Module

Project


接着,让我们来说一下图中两个用红框标记的文件,其中在app目录下的build.gradle是编译该Module的重要文件,其内容稍后解释,另一个根目录下的settings.gradle则是整个工作空间的编译文件,具体内容稍后介绍。



2 Gradle的相关知识






由于本文不是Gradle的系统教程,所以仅仅介绍下导入Library Project所需要的相关知识,具体的教程请阅读:http://tools.android.com/tech-docs/new-build-system/user-guide


2.1 dependencies元素






上文提到了build.gradle文件,现在让我们来看看文件的内容:


android studio 使用make project android studio的project_Android_02


如图,红框标记的内容使用了dependencies元素,该元素用来声明该Module依赖哪些文件,其中:

compile ‘path’ 表示从网络加载依赖文件

compile files(‘xxx/yyy.jar') 表示编译Module中xxx目录下的yyy.jar文件

compile project(‘:project name’) 表示编译项目中的其他Module,这就是我们在引入Library Project时需要用到的,注意冒号不能省略。


2.2 include元素





接下来是我们提到的setting.gradle文件,内容如下图:





android studio 使用make project android studio的project_ci_03



如图,就是只有一句话,这句话指明了目前项目中包含了那几个Module,注意冒号同样不能省略。


3 创建Library Project




创建Library Project很简单,和普通项目没什么区别,唯一要注意的就是图中红框标记的地方记得勾选Mark this project as a library,这里我们项目名称取名叫TestLib,Module取名叫testlib。


android studio 使用make project android studio的project_根目录_04


接下来,我们来看看Library Project和Project的build.gradle有啥区别,如下图



android studio 使用make project android studio的project_根目录_05



从图中可以看出,唯一的区别就是Library Project的apply plugin指定的是android-library说明该Module使用的是android-library插件,而不是android插件。


4 导入Library Project




4.1 复制Library Project的Module到目标项目根目录下



前面我们创建了一个Library Project叫TestLib,项目中有个Module叫testlib,这个Module就相当于Eclipse中的Library Project,我们的需要引用Library Peojct的项目叫TestApp,将testLib整个复制(记住是整个Module不是整个项目)到TestApp根目录下,然后AS会自动刷新,要注意的是不要直接复制到AS中粘贴,而是打开目录粘贴进去,居图目录结构如下图:


android studio 使用make project android studio的project_ci_06



4.2 编辑build.gradle和settings.gradle




1)在app目录下build.gradle的dependencies元素中加入:compile project(':testlib')


android studio 使用make project android studio的project_Android_07



2)在项目根目录下的settings.gradle添加’:testlib’


android studio 使用make project android studio的project_ci_08


3)当你修改了任何Gradle的时候,AS都会提示你同步



android studio 使用make project android studio的project_ci_09





这时候点击蓝色的Sync Now,然后就是等待AS重新编译项目了。


至此导入Library Project的步骤就全部完成了!