Proguard configurations for common Android libraries
See the codeExample Proguard configurations for common Android libraries.
This project assumes that your ProGuard configuration is based off of the latest official proguard-android.txt config as shown below. Each library configuration should only be the rules required for that specific library, not a complete Android ProGuard configuration. The various library configurations are combined by the Gradle build system. The library rules should be universal, any app specific rules (such as preserving model classes) should be added in a custom proguard-project.pro file.
Request additional libraries through issues. Pull requests are welcome.
android {
buildTypes {
release {
minifyEnabled true
// Library specific proguard files
proguardFile 'proguard-google-play-services.pro'
proguardFile 'proguard-gson.pro'
...
// Default proguard files & project app specific rules,
// see examples folder for more information
proguardFile 'proguard-project-app.pro'
proguardFile getDefaultProguardFile('proguard-android.txt')
// As of Gradle Android plugin 1.1.0, the test APK has a separate config
testProguardFile 'proguard-project-test.pro'
}
}
}
Instead of declaring each configuration file manually, you could also store them in a seperate directory and include them all at once:
FileCollection proGuardFileCollection = files { file('./proguard').listFiles() }
proguardFiles(proGuardFileCollection)
The android libraries developers can include the proguard directives in the libraries. The Android Plugin for Gradle automatically appends ProGuard configuration files in an AAR (Android ARchive) package and appends that package to your ProGuard configuration
The developers only need to specify the Proguard file with consumerProguardFiles instead of proguardFiles:
defaultConfig {
consumerProguardFiles 'proguard-file.pro'
}
352 followers · starred Mar 2018
8,062 followers · starred Jun 2017
38 followers · starred Oct 2016
392 followers · starred Feb 2015
Proguard configurations for common Android libraries
See the codeExample Proguard configurations for common Android libraries.
This project assumes that your ProGuard configuration is based off of the latest official proguard-android.txt config as shown below. Each library configuration should only be the rules required for that specific library, not a complete Android ProGuard configuration. The various library configurations are combined by the Gradle build system. The library rules should be universal, any app specific rules (such as preserving model classes) should be added in a custom proguard-project.pro file.
Request additional libraries through issues. Pull requests are welcome.
android {
buildTypes {
release {
minifyEnabled true
// Library specific proguard files
proguardFile 'proguard-google-play-services.pro'
proguardFile 'proguard-gson.pro'
...
// Default proguard files & project app specific rules,
// see examples folder for more information
proguardFile 'proguard-project-app.pro'
proguardFile getDefaultProguardFile('proguard-android.txt')
// As of Gradle Android plugin 1.1.0, the test APK has a separate config
testProguardFile 'proguard-project-test.pro'
}
}
}
Instead of declaring each configuration file manually, you could also store them in a seperate directory and include them all at once:
FileCollection proGuardFileCollection = files { file('./proguard').listFiles() }
proguardFiles(proGuardFileCollection)
The android libraries developers can include the proguard directives in the libraries. The Android Plugin for Gradle automatically appends ProGuard configuration files in an AAR (Android ARchive) package and appends that package to your ProGuard configuration
The developers only need to specify the Proguard file with consumerProguardFiles instead of proguardFiles:
defaultConfig {
consumerProguardFiles 'proguard-file.pro'
}
352 followers · starred Mar 2018
8,062 followers · starred Jun 2017
38 followers · starred Oct 2016
392 followers · starred Feb 2015