ProGuard: can't find referenced class com.google.android.gms.R
android, google-play-services, proguard
Solution
Although adding this to `proguard-project.txt` file works, it keeps all classes.
-keep class com.google.android.gms.** { *; }
-dontwarn com.google.android.gms.**
I prefer this, which makes apk file size much smaller:
-keep public class com.google.android.gms.* { public *; }
-dontwarn com.google.android.gms.**
Also note up to date Google Play Proguard notification here: http://developer.android.com/google/play-services/setup.html#Proguard
-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}
Problem
After some updates in Android SDK manager I try make signed apk and get this: ``` ProGuard: [] Warning: com.google.android.gms.auth.GoogleAuthUtil: can't find referenced class com.google.android.gms.R ProGuard: [] Warning: com.google.android.gms.auth.GoogleAuthUtil: can't find referenced class com.google.android.gms.R$string ... etc. ``` If set `-dontwarn com.google.android.gms.**` compiling is OK. But after run I get error many reports like this (from many devices): ``` Caused by: android.view.InflateException: Binary XML file line #32: Error inflating class com.google.android.gms.common.SignInButton ``` On my devices all ok. Before update I have not ProGuard warnings and all work perfectly. How it fix?