5

私のアプリケーションには、ワークスペース内のプロジェクトであるHoloEverywhereとSherlockActionBarへの参照があります。アプリケーションに対してのみ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を使用していますが、ルールを追加していません。

4

2 に答える 2

15

いいえ、しません。

これらのルールを使用して、参照されるクラスを難読化しないようにします。

-keep class com.actionbarsherlock.** {*;}
-keep class org.holoeverywhere.** {*;}
于 2012-11-15T17:26:47.687 に答える
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.**
于 2015-01-06T13:08:27.340 に答える