We just changed our application to use the appcompat-v7 support
library in order to take advantage of the support actionbar and support Material themes. Using <
As #150 from https://code.google.com/p/android/issues/detail?id=78377 said
Because careful with -keep class !android.support.v7.internal.view.menu.**. There are a number of classes in there which are referenced from the appcompat's resources.
The better solution is add the following lines instead:
-keep class !android.support.v7.internal.view.menu.MenuBuilder, !android.support.v7.internal.view.menu.SubMenuBuilder, android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }
Replace
public class class_name extends AppCompatActivity
{
.........
}
With
public class class_name extends Activity
{
.........
}
This helped me.
For all having this problem, only workaround so far seems to be using proguard. Checkout discussion at https://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby=&sort=&id=78377
I found the proper solution here: https://stackoverflow.com/a/26641388/1266123
By using
-keep class !android.support.v7.internal.view.menu.**,android.support.v7.** {*;}
instead of
-keep class android.support.v7.** {*;}
Since Appcompat 23.1.1
the .internal
package in the AppCompat jar was removed.
Updated fix using proguard:
#FOR APPCOMPAT 23.1.1:
-keep class !android.support.v7.view.menu.*MenuBuilder*, android.support.v7.** { *; }
-keep interface android.support.v7.* { *; }
If anyone interested in using a solution without progaurd .
Read the link i have tried this in one of my apps which gave the exception on setSupportActionBar(toolbar) in onCreate().
Its pretty simple just add try catch block around the call
try {
setSupportActionBar(toolbar);
} catch (Throwable t) {
// WTF SAMSUNG!
}