library module 只有release版本的问题

#问题:
我遇到这个问题,是在多版本测试的时候出现的,lib release和debug模式,某一变量使用不同的值。详见。发现在调试的时候,总是自动使用release下面设置的值。后来网上一搜发现时gradle的一个问题,官方也正在积极想办法解决。可通过下面的方式暂时解决。

这个问题在android studio 3.0 已经解决:见官方文档

#原因:

根据官方文档 http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Library-Publication 上的介绍。

默认情况下,library module 只会发布 release 版本。所以,我们需要把这个默认设置改掉,然后让 app module 根据 release 和 debug 去依赖不同的 library module。

#解决:

一、在library module中的build.gradle中设置如下:

android {
    publishNonDefault true
}

二、在主module中的build.gradle设置如下:

dependencies {
    releaseCompile project(path: ':library', configuration: 'release')
    debugCompile project(path: ':library', configuration: 'debug')
}

更多的设置,例如。结合flavor和buildType的compile等等,参考官方文档

参考:
Different dependencies for debug and release in gradle and Android Studio

BuildConfig.DEBUG 在 Android Studio 下的一个坑
解决被依赖module中BuildConfig.DEBUG的值总为false问题

关注我的公众号,轻松了解和学习更多技术
这里写图片描述

展开阅读全文
©️2020 CSDN 皮肤主题: 撸撸猫 设计师: 设计师小姐姐 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值