Подтвердить что ты не робот

Как включить конфигурацию proguard в мою библиотеку Android (AAR)

Библиотеки Android в соответствии с спецификацией файла AAR содержат файл 'proguard.txt'. Я понимаю, что этот файл объявляет, как библиотека может быть запутана и минимизирована. В моем случае мне нужно сохранить некоторые классы API.

Как я могу объявить файл библиотеки proguard.txt библиотеки в библиотеке build.gradle? И будет ли этот файл автоматически считываться при создании приложения (APK), которое использует мою библиотеку?

Я не нашел эту информацию в руководстве пользователя плагина Android Gradle.

4b9b3361

Ответ 1

В своем закрытии конфигурации файла Gradle укажите свой файл Proguard с consumerProguardFiles вместо proguardFiles. Например:

defaultConfig {
    consumerProguardFiles 'proguard.txt'
}

Ответ 2

Как упомянул @Eric Lafortune в ответе - обычно не следует включать ProGuard[About] в проекте библиотеки. В этом случае вы должны предоставить consumerProguardFiles, который используется потребителем.

android {
    defaultConfig {
        consumerProguardFiles 'proguard-rules.pro'
    }

    buildTypes {
        release {
            minifyEnabled false
        }
    }
    //...
}

Но если вам нужно включить его, например, потому что вы хотите распространять свою библиотеку, вы можете включить эту возможность:

android {

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles 'proguard-rules.pro'
        }
    }
    //...
}