2012-11-15 6 views
5

Meine Anwendung enthält Verweise auf HoloEverywhere und SherlockActionBar, beides Projekte im Arbeitsbereich. Wenn ich nur Proguard für die Anwendung aktiviert ist, stürzt diese Fehler geben:Wenn Sie Proguard verwenden, benötigen Sie eine separate Konfiguration für jede referenzierte Bibliothek?

11-15 11:50:11.090: E/AndroidRuntime(24823): Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodException: <init> [class android.app.Activity, int] 
11-15 11:50:11.090: E/AndroidRuntime(24823): at com.actionbarsherlock.a.a(Unknown Source) 
11-15 11:50:11.090: E/AndroidRuntime(24823): at org.holoeverywhere.a.a.l(Unknown Source) 
11-15 11:50:11.090: E/AndroidRuntime(24823): at org.holoeverywhere.a.a.setContentView(Unknown Source) 

Ist das, weil ich nur Proguard für die App und nicht die anderen in-Arbeitsplatz Projekte HE und ABS aktiviert?

Ich verwende die Standard-proguard-project.txt in der SDK und fügte keine zusätzlichen Regeln hinzu.

Antwort

15

Nein, tun Sie nicht.

Verwenden Sie diese Regeln, um die referenzierten Klassen nicht zu verschleiern.

-keep class com.actionbarsherlock.** {*;} 
-keep class org.holoeverywhere.** {*;} 
+1

helfen, welche Bedeutung der 'ist {*;}' –

+0

Dank sind Sie die beste !!!! –

0

dies auch

## ActionBarSherlock 4.4.0 specific rules ## 

-keep class android.support.v4.app.** { *; } 
-keep interface android.support.v4.app.** { *; } 
-keep class com.actionbarsherlock.** { *; } 
-keep interface com.actionbarsherlock.** { *; } 
-keepattributes *Annotation* 

## hack for Actionbarsherlock 4.4.0, see  https://github.com/JakeWharton/ActionBarSherlock/issues/1001 ## 
-dontwarn com.actionbarsherlock.internal.** 
Verwandte Themen