Android管理本地依赖库,android 库依赖管理之一module依赖

module依赖最大的问题在于路径管理,每个团队成员check到本地时的路径不一样,这样每个人的配置就不一样,每次更新settings.gradle时都编译都出现找不到module的情况。 现在采用统一定义路径,这样更新代码后只需要修改一个地方就行。

1.在gradle.properties中定义module属性变量

#主干代码引用module的位置是../../library/

#分支代码引用module的位置../../../library/

LIBRARY_PATH=../../library/

# 1表示引用module代码 0表示引用aar文件

DEPENDENCIES_MODULE=0

2.settings.gradle里的library路径采用变量引用的形式。

方案1:路劲定义在gradle.properties中,settings.gradle中引用

def libraryPath = LIBRARY_PATH

project(':nuwa').projectDir = new File(libraryPath + 'Nuwa/trunk/nuwa')

方案2:直接在settings.gradle中定义变量

def libraryPath = '../../../library/'

project(':nuwa').projectDir = new File(libraryPath + 'Nuwa/trunk/nuwa')

方案3:settings.gradle 中动态判断

def isTrunk = rootProject.projectDir.absolutePath.indexOf("mallapp/trunk")

def libraryPath = isTrunk > 0 ? LIBRARY_TRUNK_PATH : LIBRARY_BRANCHE_PATH

project(':nuwa').projectDir = new File(libraryPath + 'Nuwa/trunk/nuwa')

3.aar和module动态切换,脚本参考【android 库依赖管理之一aar依赖】中的buildsystem/util.gradle

//是否依赖形式是module

boolean depModule = rootProject.ext.isDepModule();

// compile project(path: ':nuwa')

if(depModule) {

compile project(':applogin')

compile project(':appcashier')

compile project(':kidim')

compile project(':kidgroupchat')

compile project(':kidpush')

}

//动态添加aar aars/default目录下的aar是一直存在的 aars目录下的是替换module用的

rootProject.ext.addAARLibs(project, depModule);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值