2012-11-15 7 views
5

Moja aplikacja ma odniesienia do HoloEverywhere i SherlockActionBar, które są projektami w przestrzeni roboczej. Kiedy włączona PROGUARD do stosowania wyłącznie zawiesi dając te błędy:Podczas korzystania z Proguard potrzebujesz oddzielnej konfiguracji dla każdej biblioteki, do której się odwołujesz?

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) 

Czy to dlatego, że tylko aktywna PROGUARD dla aplikacji, a nie innych projektów w obszarze roboczym-on i ABS?

Używam domyślnego proguard-project.txt w sdk i nie dodałem żadnych dodatkowych reguł.

Odpowiedz

15

Nie, nie.

Skorzystaj z tych reguł, aby uniezależnić przywoływane klasy.

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

jaki jest sens '{*;}' –

+0

Dzięki jesteś najlepszy !!!! –

0

to również pomoże

## 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.** 
Powiązane problemy