文档章节

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如何生成aar包

在Android Studio中对一个自己库进行生成操作时将会同时生成.jar与.aar文件。 分别存储位置: *.jar:库 /build/intermediates/bundles/debug(release)/classes.jar *.aar:库 /build/outpu...

飞翔的熊blabla
08/01
0
0
Android studio 使用心得(三)---从Eclipse迁移到Android studio

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

veidy
2015/01/21
0
10
(转)Android 公共库的建立方法

本文主要介绍在android工程中如何将共用代码建成公共包方便其他工程引用、引用后的工程结构分析、library引入方式的优缺点。 我的公共库已开源,可见TrineaAndroidCommon@Github ,包含图片缓...

mutouzhang
2014/03/10
0
0
将开源渲染引擎bgfx移植出Android版本

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

闪电的蓝熊猫
07/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

[Hive]JsonSerde使用指南

注意: 重要的是每行必须是一个完整的JSON,一个JSON不能跨越多行,也就是说,serde不会对多行的Json有效。 因为这是由Hadoop处理文件的工作方式决定,文件必须是可拆分的,例如,Hadoop将在...

Mr_yul
14分钟前
0
0
54:mysql修改密码|连接mysql|mysql常用命令

1、mysql修改密码: root用户时mysql的超级管理员,默认mysql的密码是空的,直接可以连接上去的,不过这样不安全; 注释:为了方便的使用mysql,需要把mysql加入到环境变量里; #后续自己输入mys...

芬野de博客
21分钟前
0
0
鼠标单击复制粘贴标签中的内容

<span ref="spanContentOne" id="spanContentOne" style="font-size: 14px;">或许不是最亮眼,总比瞎买强一点</span><!--<input type="button" @click="copyClick('1')" value="复制" />-......

帝子兮
25分钟前
0
0
使用axel多线程疯狂下载

在Linux中比较常见见的下载工具是curl和wget,但是下载比较大的文件两者都不支持多线程, 断点续传的作用不见得能发挥到最大。今天介绍一个axel工具,开启多线程疯狂下载。 安装 Fedora/Cen...

linuxprobe16
28分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部