Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 13 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save brownsoo/9b11a823360c9cf184263df3e669375c to your computer and use it in GitHub Desktop.
Save brownsoo/9b11a823360c9cf184263df3e669375c to your computer and use it in GitHub Desktop.
Proguard setting for Android Architecture Components
## Android architecture components: Lifecycle
# LifecycleObserver's empty constructor is considered to be unused by proguard
-keepclassmembers class * implements android.arch.lifecycle.LifecycleObserver {
<init>(...);
}
# ViewModel's empty constructor is considered to be unused by proguard
-keepclassmembers class * extends android.arch.lifecycle.ViewModel {
<init>(...);
}
# keep Lifecycle State and Event enums values
-keepclassmembers class android.arch.lifecycle.Lifecycle$State { *; }
-keepclassmembers class android.arch.lifecycle.Lifecycle$Event { *; }
# keep methods annotated with @OnLifecycleEvent even if they seem to be unused
# (Mostly for LiveData.LifecycleBoundObserver.onStateChange(), but who knows)
-keepclassmembers class * {
@android.arch.lifecycle.OnLifecycleEvent *;
}
-keepclassmembers class * implements android.arch.lifecycle.LifecycleObserver {
<init>(...);
}
-keep class * implements android.arch.lifecycle.LifecycleObserver {
<init>(...);
}
-keepclassmembers class android.arch.** { *; }
-keep class android.arch.** { *; }
-dontwarn android.arch.**
@luckcoolla
Copy link

Also please add this one:

-keep class * implements android.arch.lifecycle.GeneratedAdapter {<init>(...);}

For proguard, please add the following lines to your proguard file. (This won't be necessary when 1.0.0 ships)
https://developer.android.com/jetpack/docs/release-notes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment