1. 程式人生 > >Android專案引入actionbarsherlock作為library後混淆之後的異常

Android專案引入actionbarsherlock作為library後混淆之後的異常

現象:

Android APP中,引入actionbarsherlock 開源庫作為滑動選單,除錯執行沒有問題,專案混淆打包後,程式執行異常退出,截獲異常log為:

<span style="white-space:pre">	</span>java.lang.ExceptionInInitializerError
	at com.actionbarsherlock.app.SherlockFragmentActivity.getSherlock(Unknown Source)
	at com.actionbarsherlock.app.SherlockFragmentActivity.onTitleChanged(Unknown Source)
	at android.app.Activity.setTitle(Activity.java:4614)
	at android.app.Activity.setTitle(Activity.java:4628)


原因:

混淆打包依賴庫,依賴庫資源被破壞

解決:

新增如下混淆配置項:

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