сборка androidTest apk получает ошибки R8: "уже есть сопоставление" - PullRequest
0 голосов
/ 05 ноября 2019

Я добавил minifyEnabled=true в мою сборку 'release'. Приложение работает правильно. И AndroidTest APK работает правильно (все тесты проходят).

Если я добавлю любой из следующих в proguard-rules.pro:

-keepattributes LineNumberTable
-keepattributes LocalVariableTable
-keepattributes LocalVariableTypeTable

приложение apkбудет скомпилирован без ошибок, но при сборке apk androidTest я получаю ~ 4000 R8 "уже есть отображение" ошибок для задачи:

:app:transformClassesAndResourcesWithR8ForReleaseAndroidTest

(усеченный) журнал ошибок

androidTest build error: already has a mapping

Похоже, что методы, которые вызывают ошибку, находятся в сторонних библиотеках (включены как зависимости).

Заранее спасибо за любую помощь.

1 Ответ

0 голосов
/ 08 ноября 2019

Я решил проблему, добавив дополнительный buildType для тестирования конфигурации 'release' ('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
   }
...