文档章节

Android Studio多工程引用同一个library项目配置方法

T_Tang
 T_Tang
发布于 2017/05/03 09:33
字数 544
阅读 10
收藏 0

在使用Android Studio 开发中,如遇到多个项目引用同一个library(源码)的情况时,会遇到在每个项目中都要有一套library的代码,对还在开发和维护中的library需要频繁的修改,这对同步就很麻烦了,下面提出以下方法供选择。当然最后会给出最合理的解决办法。

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

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

第三种就是将所以的library作为一个工程使用,然后将所有的library都放入此工程中,然后在其他引用library的工程中,引入新建的工程,这样看起来和eclipse 引用library的结构就很像了,且可以放入多个library都不影响。下面就来看看这种解决方法,该如何实现。

  1. 首先新建一个工程,注意是工程,不是Stuio里面的Module,起一个容易理解的工程名称 CommonLibrary 。
  2. 将需添加的library添加进CommonLibrary中,记得每个library也是需要有 build.gradle 文件的,且配置项正确。
  3. 在需要引用的的工程中,需要在 settings.gradle 文件中添加引用代码如下:

    include ':CommonLibrary'
    project (':CommonLibrary').projectDir = new File('../CommonLibrary/')
    include ':CommonLibrary:CommonsA'

    其中CommonsA为项目要使用的公共library名称

    然后在我们项目实际的model中修改 build.gradle 文件,需要在 dependencies 中添加下面的代码。CommonsA和CommonsB都是要要引用的项目。

    compile project (':CommonLibrary:CommonsA')
    compile project (':CommonLibrary:CommonsB')

至此多个工程引用同一个lib的方法就基本完成,配置玩后sync下,然后build,看是否成功。

© 著作权归作者所有

共有 人打赏支持
T_Tang
粉丝 31
博文 38
码字总数 11429
作品 0
深圳
程序员
从eclipse到Android studio/迁移eclipse的Android项目到Android studio平台的注意事项

整体要注意的地方 先说明一下整体需要注意的地方 1在Android studio建立项目的时候,要注意包名和原来的完全一致,不然会有很多需要改动. 2依赖的jar一定一定要找齐,不然新建项目引用不到,要么...

amiba.org
2015/09/07
0
0
Android studio 使用心得(三)---从Eclipse迁移到Android studio

断断续续的也算是把eclipse上的代码成功迁移到android studio上来了,现在,我同事继续用eclipse,我用android studio,svn上还是之前eclipse的项目,迁移成功后,我也能happy的开发了,两不误...

veidy
2015/01/21
0
10
将开源渲染引擎bgfx移植出Android版本

起因 之前看云风的博客说他们正在弄一个游戏引擎,用的就是bgfx库作为渲染库,结果这么久了游戏引擎还没开源出来,所以我就先弄弄bgfx。 GitHub有一个像是用bgfx的Android版本,项目地址是:...

闪电的蓝熊猫
07/05
0
0
寄Android开发Gradle你需要知道的知识

初识Gradle Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML。当前其支持的语言限于Java、Groovy和...

猴亮屏
05/22
0
0
Gradle/Studio构建问题(Ant/Gradle)

> 使用Gradle遇到的问题及其他: Android Studio安装过程常见问题图解-- http://jingyan.baidu.com/article/fd8044fad5bdca5031137ab7.html 1. 将GitHub上的新项目导入Studio中 Pano360-mast......

shareus
05/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

文件的压缩与解压(linux)

Linux下*.tar.gz文件解压缩命令 1.压缩命令:   命令格式:tar -zcvf 压缩后文件名.tar.gz 被压缩文件名 可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。 2.解压缩命令: ...

qimh
31分钟前
3
0
invalid character found in the request target 异常

这个异常时因为Tomcat 9不支持请求格式出现“{”等非法字符的问题 因为tomcat版本问题遇到的坑,记录一下。 问题 今天由于要测试一下订单详情页的异步查询,在本地起了一个服务,发送的请求是...

edwardGe
35分钟前
4
0
发现抓包软件fiddler的bug

1个请求他跳转之后,直接400,被拦在了Apache,使用fiddler 的,replay requests 是同样的结果,但是replay composer确是正常的。 也就是说这replay requests 是发原来的包,replay composer...

NLGBZJ
45分钟前
1
0
linux screen 命令详解

shell关闭后, 主机仍然运行 screen命令 启动jenkins以后, screen, 然后按ctrl+a 再按d 这样暂停了子界面, 这时候回到了父界面 用screen –ls查看目前子界面的状态 [root@free /]# screen -l...

SuShine
46分钟前
4
0
mac机器切换无线网络导致网页不能打开的问题

问题: 公司和家里使用不同的WI-FI,每次从家到公司时自动切换网络后,公司的许多地址不能访问, ping域名是可以ping同的,但是网页却打不开... 问题分析: 初步猜想是DNS缓存的问题? 对于MAC系统没...

Lennie002
49分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部