2012-11-15 32 views
5

Ứng dụng của tôi có tham chiếu đến HoloEverywhere và SherlockActionBar, cả hai đều là dự án trong không gian làm việc. Khi tôi kích hoạt Proguard cho ứng dụng duy nhất, nó bị treo cho các lỗi này:Khi sử dụng Proguard, bạn có cần cấu hình riêng cho từng thư viện được tham chiếu không?

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) 

Đây có phải là vì tôi chỉ kích hoạt Proguard cho các ứng dụng và không phải là các dự án khác trong không gian làm việc HE và ABS?

Tôi đang sử dụng proguard-project.txt mặc định trong sdk và không thêm bất kỳ quy tắc bổ sung nào.

Trả lời

15

Không, bạn không có.

Sử dụng các quy tắc này để giữ cho các lớp được tham chiếu không bị xáo trộn.

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

là những gì ý nghĩa của '{*;}' –

+0

Cảm ơn bạn là tốt nhất !!!! –

0

này cũng sẽ giúp

## 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.** 
Các vấn đề liên quan