【问题标题】:Execution failed for task: Transform classes and resources with proguard when tried to run Espresso UI test任务执行失败:尝试运行 Espresso UI 测试时使用 proguard 转换类和资源
【发布时间】:2017-12-18 14:57:55
【问题描述】:

我尝试运行 espresso 测试,但总是收到下一个 Gradle 警告:

错误:任务执行失败 ':app:transformClassesAndResourcesWithProguardForDevDebugAndroidTest'.

这是我的 Gradle 配置。

buildTypes {
        release {
            signingConfig signingConfigs.release
            useProguard true
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules-release.txt'
            zipAlignEnabled true
        }

        debug {
            minifyEnabled false
            signingConfig signingConfigs.debug
            useProguard true
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules-debug.txt'
            testProguardFile 'proguard-test.pro'
            zipAlignEnabled true
        }

    }

和 proguar-test.pro

-dontobfuscate
-dontwarn

其他测试没问题,但包含 onView() 等 Espresso 方法的测试无法运行。但是所有测试都在 Jenkins 中通过。那有什么问题呢?

【问题讨论】:

  • 是不是因为minifyEnabledshrinkResourcesdebug模式下应该是false
  • 顺便说一句,minifyEnableddebug 中有两次不同的设置
  • 我也有这个问题,但我需要将 useProguard 设置为 true 才能使用 play services 11.8.0 进行编译。 :(

标签: android gradle proguard android-espresso


【解决方案1】:

两步:

  1. debug 构建类型中删除重复的minifyEnabled true
  2. debug 构建类型中设置useProguard false

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-23
    • 1970-01-01
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-29
    相关资源
    最近更新 更多