library module 只有release版本的问题

来源:互联网 发布:tensorflow linux 推荐 编辑:程序博客网 时间:2024/05/22 02:10

问题:

我遇到这个问题,是在多版本测试的时候出现的,lib release和debug模式,使用不同的key。详见。发现在调试的时候,总是自动是一所release下面设置的key。后来网上一搜发现时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问题

原创粉丝点击