多项目同质化 gradle配置问题

as中如果出现多个app同质化的情况时,可考虑抽取各种基础模块供不同的 application module 依赖,这里在使用AS终端编译项目时,发现assembleDebug/assembleRelease 打包会报错,分析发现正常和异常情况下的gradle 构建过程不同

这里注意点是:
编译环境 as 2.3.3[之前为了能够看到as在编译时期将临时编译的输出文件夹 --exploaded aar 文件夹 而在gradle.properties 中设置了 android.enableBuildCache=false]
这里只需要将这行配置注释 #android.enableBuildCache=false,
即可改变as的构建过程[没想到是这个配置影响到了gradle的构建过程]

另外 在正常编译情况下会打出不同app对应的全渠道包!
本意是只打指定的app全渠道包,而不是所有的application module下的渠道包都被编译出来,浪费时间和性能!
这里的解决方案是:
决定构建的上游是setting.gradle ,既然也是gradle那么也必然支持从 gradle.properties 中获取参数 ,因此在 gradle.properties中配置module 参数,对应value为app的具体nameId
配置改为如下:

if(MODULE.contains("ydt")) {
    include ':util',
            ':framework',
            ':update',
            ':widget',
            ':net',
            ':xrecyclerview',
            ':refresh-layout',
            ':loadinglayout',
            ':ydt', // 当前module nameId 对应的编译app module
            ':resouce'
} else {
    include ':app',  //另一个app module
            ':util',
            ':framework',
            ':update',
            ':widget',
            ':net',
            ':xrecyclerview',
            ':refresh-layout',
            ':loadinglayout',
            ':resouce'
}

总结对于上面的两个问题可以通过最后的 module 参数配置并在setting.gradle端解决,构建过程的差异即可避免也可同时具有 展示build 临时文件 exploaded aar 目录的能力

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值