如何在Android Studio中引入Library Project

来源:互联网 发布:自定义端口爆破 编辑:程序博客网 时间:2024/05/01 15:40

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


1 Android Studio的目录结构




如图,Android Studio(简称AS)的目录结构和Eclipse有所不同,这里的根目录TestApp表示一个项目,相当于EclipseWorkSpace,而app相当于EclipseProject,但是在ASapp被称作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文件,现在让我们来看看文件的内容:




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

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

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

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


2.2 include元素


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



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


3 创建Library Project


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




接下来,我们来看看Library ProjectProjectbuild.gradle有啥区别,如下图



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


4 导入Library Project


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


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




4.2 编辑build.gradlesettings.gradle


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




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




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




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


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

0 0