我希望针对发布版本类型运行我的Android检测测试。这就是我所做的。
按照建议的here更改了测试构建类型:
android {
testBuildType "release"
}
在proguard-test-rules.pro
目录中创建app/
并将其添加到发布版本类型部分:
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
testProguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-test-rules.pro'
}
}
proguard-test-rules.pro
包含唯一的一行:
-dontwarn okio.**
但是,当我运行命令./gradlew clean connectedMyFlavorReleaseAndroidTest
时,我在控制台输出中看到以下错误:
Warning: okio.Okio: can't find referenced class java.nio.file.Files
所以看起来proguard-test-rules.pro
被忽略了。为什么?
当然我可以使用this solution,但我只是想知道为什么忽略proguard-test-rules.pro
。我也试过了proguardFile 'proguard-test-rules.pro'
但也没用。
我的Gradle
classpath 'com.android.tools.build:gradle:3.0.1'
答案 0 :(得分:1)
要让Android读取.pro文件,您需要告诉它接受它:
https://issuetracker.google.com/issues/37104292
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
//Something like this
proguardFiles fileTree(dir: 'vendor', include: ['*.pro']).asList().toArray()
testProguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-test-rules.pro'
}
}
希望这有帮助!