2012-11-15 68 views
5

我的應用程序引用了HoloEverywhere和SherlockActionBar,它們都是工作區項目。當我啓用Proguard的爲應用程序而已,它崩潰給這些錯誤:使用Proguard時,是否需要爲每個引用的庫單獨配置?

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) 

這是因爲我只啓用Proguard的爲應用程序,而不是其他的工作空間項目HE和ABS?

我在sdk中使用默認的proguard-project.txt,並沒有添加任何附加規則。

回答

15

不,你不知道。

使用這些規則保持被引用的類不被模糊處理。

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

是什麼'的含義{*;}' –

+0

謝謝,你是最好的!!!! –

0

這也將有助於

## 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.** 
相關問題