Android studio中多个项目引用同一个library解决方案

在实际开发中,我们经常会引入第三方的library(项目源码),比如下拉刷新,第三方支付等library,公司自己公共的library库。但如果多个项目同时引用同一个library的情况,此时你会遇到在每个项目中都要有一套library的代码,尤其是公司的公共库需要根据不同的需求进行更改的情况下,此时不通项目中的library代码同步就麻烦了,针对这种情况,下面提出以下方法供选择。

第一种方法是对library向每个引用的项目建立软连接。这样修改就会对每个引用同步修改.这种方法就是看起来会很臃肿,如果要引用多个library就很痛苦。

第二种就是maven 仓库的方式,将所有的library都上传到maven仓库,然后在各个工程中进行引用,当然这种是对稳定的library来说是最好的一种方式,但对于library需要开发和修改的就不太适合了。

前面两种是从网络上看到的,没经过验证,接下来给大家讲讲我在实际开发中是怎么解决的。

在开发过程中,我们的项目(取名叫HBSCustomerProject)中不可能只引入一个library库, 所以我单独建立一个android项目(注意是android项目不是library库项目,区别在这里applyplugin:'com.android.application',applyplugin:'com.android.library'),为了方便阅读,这里取名叫LibraryManager 。接下来把项目中需要引入的第三方library和公司公共的library库都引入到LibraryManager项目中 。最后HBSCustomerProject项目只需要引入LibraryManager项目即可。这样既能满足多个项目引用同一个library,只要修改LibraryManager项目中的library库源码,多个项目都能得到相应的同步问题,又能更好的管理项目中引入的第三方library。接下来为大家展示怎么实现

1.把项目所需要引入第三方的library和公司的公共library库引入到LibraryManager。这个和普通的引入第三方library没什么区别,相信大家都知道怎么做,这里就不多啰嗦了。

2.打开HBSCustomerProject项目的settings.gradle文件,添加如下代码

include':LibraryManager'  //引入LibraryManager项目

project(':LibraryManager').projectDir=newFile('../LibraryManager')  //最关键的代码, newFile中是LibraryManager项目的路径。

include':LibraryManager:hbslibrary'  //公司的公共库

include':LibraryManager:pullrefreshview-master' //第三方的下拉刷新库  

这里引入多少第三方library 这里就写多少哦

3.打开HBSCustomerProject项目的app/build.gradle文件,在dependencies代码块中添加如下代码

dependencies{

..............

compile project(':LibraryManager:hbslibrary')

compile project(':LibraryManager:pullrefreshview-master')

}

到这里就ok了,然后清空一下项目,重新build。

你可能感兴趣的:(Android studio中多个项目引用同一个library解决方案)