您好,我正在尝试根据我在下面定义的风格和自定义构建类型构建一个 androidTest APK:
productFlavors {
FlavourOne {
applicationIdSuffix ".live"
buildConfigField 'String', 'SERVER_BASE_URL', '"http://live.com"'
}
FlavourTwo {
applicationIdSuffix ".demo"
buildConfigField 'String', 'SERVER_BASE_URL', '"http://demo.com"'
}
buildTypes {
debug {
minifyEnabled false
// shrink code (remove unused classes and methods) - note that it falls back to experimental shrinker for Instant Run
shrinkResources false // don't strip unused res files
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro', 'proguard-rules-debug.pro'
testProguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules-test.pro'
}
release {
minifyEnabled true // shrink code (remove unused classes and methods)
shrinkResources false // don't strip unused res files
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debugDemo {
applicationIdSuffix '.demo'
versionNameSuffix '-DEMO'
minifyEnabled false
// shrink code (remove unused classes and methods) - note that it falls back to experimental shrinker for Instant Run
shrinkResources false // don't strip unused res files
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro', 'proguard-rules-debug.pro'
testProguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules-test.pro'
}
demo {
applicationIdSuffix '.demo'
versionNameSuffix '-DEMO'
minifyEnabled true // shrink code (remove unused classes and methods)
shrinkResources false // don't strip unused res files
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
当我运行 gradlew assembleFlavourOneDebugDemoAndroidTest
时,我立即收到一条错误消息
Task 'assembleFlavourOneDebugDemoAndroidTest' not found in root project 'MyProject'.
如果我省略我的自定义 buildType 并且只执行 assembleFlavourOneAndroidTest
它就可以正常工作并且它可以工作。如果仅执行 assembleFlavourOneDebugANdroidTest
,它也有效...
最佳答案
根据文档,只有一个 Build Type 被测试。默认情况下,它是调试构建类型,但这可以通过以下方式重新配置:
android {
testBuildType "demo"
}
同步后你的 gradle 任务应该是这样的:
./gradlew assembleFlavourOneDemoAndroidTest
请注意,正如您在最后的描述中指出的那样,将NO调试。
assembleFlavourOne
DebugDemoAndroidTest
关于android - 自定义构建类型不适用于 androidTest 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57094324/