Android testProguardFiles忽略我的规则。无法对版本生成类型运行Espresso测试

Android testProguardFiles忽略我的规则。无法对版本生成类型运行Espresso测试,android,proguard,android-espresso,Android,Proguard,Android Espresso,我想对发布版本类型运行我的Android测试。这就是我所做的 按照建议更改了测试生成类型: 在app/目录中创建了proguard test rules.pro,并将其添加到发布构建类型部分: buildTypes { release { signingConfig signingConfigs.release minifyEnabled true proguardFiles getDefaultProguardFile('progua

我想对发布版本类型运行我的Android测试。这就是我所做的

按照建议更改了测试生成类型:

app/
目录中创建了
proguard test rules.pro
,并将其添加到发布构建类型部分:

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测试规则.pro
只包含一行:

-dontwarn okio.**
但是,当我运行命令
/gradlew clean connectedMyFlavorReleaseAndroidTest
时,我在控制台输出中看到以下错误:

Warning: okio.Okio: can't find referenced class java.nio.file.Files
所以它看起来像是
proguard测试规则。pro
被忽略。为什么? 当然我可以使用,但我只是想知道为什么
proguard测试规则.pro
被忽略了。我还尝试了
proguardFile'proguardtestrules.pro'
,但也没有成功

我的毕业典礼

classpath 'com.android.tools.build:gradle:3.0.1'

要让Android读取.pro文件,您需要告诉它接受它:


希望这有帮助

dontwarn
是不够的。你试过使用
-保留okio.*{*;}
?dontwarn对我来说已经足够了。关键是忽略了
proguard测试规则.pro
。当我将
-dontwarn-okio.*
添加到
proguard rules.pro
(应用如下:
发布{proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard rules.pro'}
,我看不到关于
okio
的警告。您是否在生成文件的文件树中添加了.pro?当我遇到相同问题时,下面的答案对我很有用。请让我知道它是否对您有帮助:)
classpath 'com.android.tools.build:gradle:3.0.1'
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'
 }
}