proguard-rules.pro, похоже, не работает с R8 - PullRequest
3 голосов
/ 23 апреля 2019

Сегодня я обновил свою Android Studio до версии 3.4 и впервые использую усадку по умолчанию R8.Я скопировал содержимое proguard-project.txt проекта библиотеки в proguard-rules.pro.proguard-project.txt работал безупречно для этого проекта, который генерирует файл aar для использования другими проектами приложений.

Файл proguard-rules.pro, похоже, не используется.В проекте build.gradle содержится следующее:

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
                    'proguard-rules.pro'
            signingConfig signingConfigs.Release
        }
        debug {
            signingConfig signingConfigs.Debug
        }
    }

proguard-rules.pro имеет следующее:

# Preserve all public classes, and their public and protected fields and methods.
-keep public class * {
    public protected *;
}

Имена открытых методов вообще не сохраняются: enter image description here

Может кто-нибудь предложить совет, как это исправить?

1 Ответ

3 голосов
/ 23 апреля 2019

Добавьте эту строку в gradle.properties

android.enableR8 = true

И попробуйте ниже код внутри вашего proguard-rules.pro

-keep public class ** {
    public *;
    protected *;

}

Редактировать # 1

Узнайте здесь, как перенести Proguard на R8: Android / java: переход / переход с ProGuard на R8?

...