2015-08-23 17 views
12

Ich habe support libs auf v23.0.0 von v22.2.1 aktualisiert, nachdem ich App erstellt habe (mit minifyEnabled true) Ich habe "AppCompat unterstützt das aktuelle Theme nicht Merkmale“Ausnahme:proguard - AppCompat unterstützt die aktuellen Designfunktionen nicht nach proguard/minify

08-23 05:46:10.168 19437 19437 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{tm.alashow.dotjpg/tm.alashow.dotjpg.ui.activity.MainActivity}: java.lang.IllegalArgumentException: AppCompat does not support the current theme features 
08-23 05:46:10.168 19437 19437 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417) 
08-23 05:46:10.168 19437 19437 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2477) 
08-23 05:46:10.168 19437 19437 E AndroidRuntime: at android.app.ActivityThread.-wrap11(ActivityThread.java) 
08-23 05:46:10.168 19437 19437 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1345) 

Wenn app Debuggen oder deaktivieren proguard (minifyEnabled false), keine Ausnahme wirft. Es wird nur ausgelöst, wenn das Programm aktiviert ist.

Thema:

<style name="Theme.App" parent="@style/Theme.AppCompat.Light.NoActionBar"> 
     <item name="colorPrimary">@color/primary</item> 
     <item name="colorPrimaryDark">@color/primary_dark</item> 
     ... 
</style> 

Proguard Datei:

-dontwarn android.support.v7.** 
-keep class android.support.v7.** { *; } 
-keep interface android.support.v7.** { *; } 

-keep class android.support.design.widget.** { *; } 
-keep interface android.support.design.widget.** { *; } 
-dontwarn android.support.design.** 
-keep public class * extends android.support.design.widget.CoordinatorLayout$Behavior { 
    public <init>(android.content.Context, android.util.AttributeSet); 
} 

ich bereits versucht, Antworten von dieser Frage: Upgraded to AppCompat v22.1.0 and now getting IllegalArgumentException: AppCompat does not support the current theme features und ich denke, es ist nicht Frage duplizieren.

Wie kann ich es beheben? Mit prouard aktiviert, natürlich

+0

Haben Sie eine Lösung gefunden? –

+0

@bjornson nein :(Sie haben das gleiche Problem oder was? – alashow

+0

@bjornson gerade heruntergestuft zu alt gut 22.2.1 – alashow

Antwort

0

Die Fehlermeldung kann irreführend sein. Halten Sie Ausschau nach Proguard Warnungen wie diese:

Warning: org.acra.ErrorReporter: can't find referenced method 'void setLatestEventInfo(android.content.Context,java.lang.CharSequence,java.lang.CharSequence,android.app.PendingIntent)' in library class android.app.Notification 
Warning: there were 1 unresolved references to library class members. 
     You probably need to update the library versions. 
     (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedlibraryclassmember) 
Exception while processing task 
java.io.IOException: Please correct the above warnings first. 
    at proguard.Initializer.execute(Initializer.java:473) 
    at proguard.ProGuard.initialize(ProGuard.java:233) 
    at proguard.ProGuard.execute(ProGuard.java:98) 
    at proguard.gradle.ProGuardTask.proguard(ProGuardTask.java:1074) 
    at com.android.build.gradle.tasks.AndroidProGuardTask.doMinification(AndroidProGuardTask.java:139) 
    at com.android.build.gradle.tasks.AndroidProGuardTask$1.run(AndroidProGuardTask.java:115) 
    at com.android.builder.tasks.Job.runTask(Job.java:48) 
    at com.android.build.gradle.tasks.SimpleWorkQueue$EmptyThreadContext.runTask(SimpleWorkQueue.java:41) 
    at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:227) 
    at java.lang.Thread.run(Thread.java:745) 

Obwohl es ein Fehler war die Build erfolgreich sein wird, wenn es eine classes.jar Datei aus einer früheren Build ist ein bereinigter Build wie erwartet ausfallen.

In meinem Fall entfernt das Reparieren der Proguard-Warnung auch die AppCompat-Ausnahme.

Verwandte Themen