Android專案引入actionbarsherlock作為library後混淆之後的異常
阿新 • • 發佈:2019-02-08
現象:
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*