2

我已添加minifyEnabled=true到我的“发布”版本中。该应用程序运行正常。并且 androidTest apk 运行正常(所有测试都通过)。

如果我将以下任何内容添加到 proguard-rules.pro:

-keepattributes LineNumberTable
-keepattributes LocalVariableTable
-keepattributes LocalVariableTypeTable

应用程序 apk 将毫无错误地构建,但在构建 androidTest apk 时,我得到 ~4000 R8“已经有映射”任务错误:

:app:transformClassesAndResourcesWithR8ForReleaseAndroidTest

(截断的)错误日志是

androidTest构建错误:已经有一个映射

似乎出现错误的方法位于第 3 方库中(作为依赖项包含在内)。

提前感谢您的帮助。

4

2 回答 2

0

我通过添加一个额外的 buildType 来测试“发布”配置(“releaseTest”)解决了这个问题。它继承自 'release',并设置debuggable=true.

buildTypes {
    debug {
        ...
    }
    release {
        ...
        minifyEnabled true    // enable code shrinking & obfuscation
        shrinkResources true  // enable resource shrinking
        ...
    }
    releaseTest {
        // inherit from 'release' buildType
        initWith release
        // for dependencies that don't know what 'releaseTest' is
        matchingFallbacks = ['release']

        debuggable true
   }
于 2019-11-08T20:35:30.780 回答
0

我遇到了同样的问题并添加

-dontoptimize

进入我的proguard-rules.pro只是为我工作。

于 2020-01-26T14:06:36.403 回答