| -verbose |
| # Use ProGuard only to get rid of unused classes |
| -dontobfuscate |
| -dontoptimize |
| -keepattributes * |
| |
| # Preverification was introduced in Java 6 to enable faster classloading, but |
| # dex doesn't use the java .class format, so it has no benefit and can cause |
| # problems. |
| -dontpreverify |
| |
| # Skipping analysis of some classes may make proguard strip something that's |
| # needed. |
| -dontskipnonpubliclibraryclasses |
| |
| # Parcel reflectively accesses this field. |
| -keepclassmembers class * implements android.os.Parcelable { |
| public static *** CREATOR; |
| } |
| |
| # Don't warn about Nullable and NonNull annotations |
| -dontwarn org.jetbrains.annotations.* |
| |
| # Unexpected reference to missing service class: META-INF/services/javax.annotation.processing.Processor. |
| -dontwarn javax.annotation.processing.Processor |
| |
| # Keep PreferenceController constructors |
| -keepclassmembers public class * extends com.android.car.settings.common.PreferenceController { |
| public <init>(...); |
| } |
| |
| # Keep QCItem constructors |
| -keepclassmembers public class * extends com.android.car.settings.qc.SettingsQCItem { |
| public <init>(...); |
| } |
| |
| # Keep QCBackgroundWorker constructors |
| -keepclassmembers public class * extends com.android.car.settings.qc.SettingsQCBackgroundWorker { |
| public <init>(...); |
| } |
| |
| # Keep fragments that are only created via xml |
| -keep public class * extends com.android.car.settings.common.SettingsFragment |
| -keep public class * extends com.android.car.settings.common.BaseFragment |
| |
| # Keep PreferenceControllers |
| -keep public class * extends com.android.car.settings.common.PreferenceController |