gradle关于依赖module编译问题
来源:互联网 发布:osiris数据库 编辑:程序博客网 时间:2024/06/06 00:29
问题:
有个主module A和一个附属module B,A编译依赖B,相关配置在A的build文件中:
dependencies {
compile project(path: ':B')
}
但是,编译发现这样的问题,无论编译A的debug版本还是release版本,最终B都是编译
release版本集成。
我想要的结果是编译A的debug版本也编译B的debug版本集成,编译A的release版本也编译
B的release版本集成。
尝试这样的配置:
dependencies {
releaseCompile project(path: ':B')
debugCompile project(path: ':B')
}
还是不行。
研究:
在android中有这样的配置项:
android { defaultPublishConfig "debug" //or release or custom}
defaultPublishConfig 默认是release,把改成debug版后(在B的build文件中),编译A的debug版本确实能编译B的
debug版本集成,但编译A的release版本也是编译B的debug版本集成。
也就是说,编译debug的时候改下defaultPublishConfig为debug,release改下defaultPublishConfig为release
这太不爽了。
继续研究:
在dependencies中还有这样的配置项:
dependencies {
releaseCompile project(path: ':B',configuration: 'debug') //or releaseCompile project(path: ':B',configuration: 'custom')
debugCompile project(path: ':B',configuration: 'release')
}
但编译gradle会报错,说找不到debug和release
在android中有这样的配置项:
android { publishNonDefault true // 公开所有的版本,默认只公开defaultPublishConfig只定的版本}
在B中配置这个属性后,编译顺利,并且能达到我想要的编译要求。
例子:
如果是依赖custom,如A依赖B中的tw_debug
A的build文件:
dependencies {
releaseCompile project(path: ':B',configuration: 'tw_debug')
}
B的build文件:
android {
publishNonDefault true
buildTypes {
debug {
minifyEnabled false
buildConfigField "boolean", "TW_ENV_DEBUG", "true"
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
tw_debug {
minifyEnabled false
buildConfigField "boolean", "TW_ENV_DEBUG", "true"
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled true
buildConfigField "boolean", "TW_ENV_DEBUG", "false"
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
参考:http://www.open-open.com/lib/view/open1428320744713.html
0 0
- gradle关于依赖module编译问题
- 关于 Gradle failed: already disposed module 的问题
- Idea关于Module is not backed by gradle的问题
- 关于 gradle 编译报错的问题
- 关于nodejs依赖jsdom的依赖contextify的编译问题
- 关于Android Studio主Module与依赖Module同时引入so库的问题
- gradle 解决依赖冲突问题
- Android编译打包-gradle task 的依赖
- Gradle编译时下载依赖失败解决方法
- Gradle编译时下载依赖失败解决方法
- Android Studio中 Module依赖的问题
- react-native遇到依赖module问题
- AndroidStudio添加module依赖遇到的问题
- 关于Gradle版本问题
- gradle不能下载最新依赖包问题
- gradle 管理依赖库两个问题
- gradle加载依赖库的问题
- Gradle添加依赖后一直下载问题
- WIFI的状态判断
- 观察者模式(Observer Pattern)
- Android数据存储五种方式总结
- C语言基础及指针⑩预编译及jni.h分析
- 20160825音频开发之AVAudioRecoder
- gradle关于依赖module编译问题
- ArcGIS runtime SDK for android的学习笔记(序:写在开始之前的话)
- postgres简易安装
- 【C++】STL常用容器总结之十一:容器小结
- 开发相关的一些网站
- Spark2.0机器学习系列之2:Logistic回归及Binary分类(二分问题)结果评估
- 诠释 Linux 中“一切都是文件”概念和相应的文件类型
- 测试
- ubuntu/centos vim配置golang开发环境