我想做什么&问题
我将Android Studio和Android Gradle Plugin更新为3.0.1,将Gradle Wrapper更新为4.1并且可以构建&通过IDE在设备上部署我的Android Gradle项目。
但是,会显示以下“Gradle Sync”警告消息:
警告:模块'库'选择了变体'release',但模块['integration-test']依赖于变体'debug'
这里的问题是,使用'com.android.test'的集成测试模块没有'release'变体 插件
如果我只是尝试将发布版本类型(buildTypes { release {} }
)添加到我收到的:integration-test模块中:
错误:VariantInputs初始化时没有合并清单报告:DEFAULT
项目详情(简化)
该项目包括:
settings.gradle
include :library
include :app
include :integration-test
应用程序/的build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
publishNonDefault true
defaultConfig {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
applicationId "xxxxx"
testInstrumentationRunner rootProject.ext.testInstrumentationRunner
multiDexEnabled true
vectorDrawables.useSupportLibrary = true
}
signingConfigs {
release {
keyAlias 'xxxx'
}
}
buildTypes {
debug {
testCoverageEnabled = true
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
// This is needed by the integration-test module (i.e. com.android.test : integration test)
// in order for targetVariant to work without a flavor
publishNonDefault true
testOptions {
unitTests {
// Required so that logging methods do not throw not mocked exceptions in junit tests.
returnDefaultValues = true
}
}
compileOptions {
sourceCompatibility rootProject.ext.sourceCompatibility
targetCompatibility rootProject.ext.targetCompatibility
}
}
dependencies {
// Local dependencies
compile project(':library')
// i cleaned up all the other dependencies as they wouldn't help here
}
问题
有没有人使用com.android.test插件获得(集成 - )测试模块与 Android Gradle Plugin 3.0.1 一起运行而没有获得“不发布”变种“错误?如果是这样,我怎样才能避免这个错误,或者如何将这样的发布版本添加到基于android测试插件的模块中(如果这有意义的话)?
答案 0 :(得分:1)
我也得到了
VariantInputs初始化时没有关于DEFAULT的合并清单报告。
然后,我完全按照https://github.com/googlesamples/android-testing-templates/tree/master/AndroidTestingBlueprint
中概述的内容进行操作。当我从测试模块的Gradle文件的“ buildTypes”块中删除release
buildType时,错误消失了。
从这个:
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
到
buildTypes {
}