文档章节

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
粉丝 32
博文 39
码字总数 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
2018/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版本,项目地址是:...

闪电的蓝熊猫
2018/07/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Neo 虚拟机

上一篇《Neo 编译器》中说明了Neo编译器是怎么把CIL转成neo虚拟机的opcode,那么vm虚拟机又是怎么处理这些代码的,这篇文章我们看一下虚拟机的代码。 框架 虚拟机所处的位置 在框架图中,我们...

NEO-FANS
29分钟前
1
0
TiDB-Lightning Toolset & TiDB-DM 正式开源,前排开“坑”、PR 走起!

在刚刚结束的 TiDB DevCon 2019 上,我们宣布将大家期待已久的 TiDB-Ligthning Toolset 和 TiDB-DM 开源(惊不惊喜、意不意外?!),感兴趣的小伙伴们赶紧前排关注一波,开“坑(issues)”...

TiDB
43分钟前
2
0
人人都可以做深度学习应用:入门篇

本文由云+社区发表 作者:徐汉彬 一、人工智能和新科技革命 2017年围棋界发生了一件比较重要事,Master(Alphago)以60连胜横扫天下,击败各路世界冠军,人工智能以气势如虹的姿态出现在我们...

腾讯云加社区
47分钟前
1
0
C++ RAII

C++ RAII RAII是resource acquisition is initialization的缩写,意为“资源获取即初始化”。它是C++之父Bjarne Stroustrup提出的设计理念,其核心是把资源和对象的生命周期绑定,对象创建获...

mskk
50分钟前
1
0
web.xml is missing and is set to true一步解决

次报错说的是在WebContent/WEB-INF下面没有web.xml,而默认web.xml不在此路径,需要重新指定路径,操作如下: 先取消Dynamic Web Module勾选,点击apply,然后再勾上Dynamic Web Module,此时...

宇昕
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部