由於Jar混淆,導致專案打包時崩潰
阿新 • • 發佈:2018-12-12
在專案中加了個Jar包 執行時 沒事 打包時,在用到Jar中類的地方會崩潰
加入到專案中的jar包只要project.properties檔案中加了這麼一句:
proguard.config=proguard.cfg
那麼proguard.cfg 混淆檔案就會起作用,在打包成APK時對專案進行混淆
但是當我們加入jar包時,混淆後有些方法在虛擬機器中執行會找不到
要對每一個加入的jar包進行混淆
抓的log:
E/dalvikvm( 9395): ERROR: couldn’t find native method
E/dalvikvm( 9395): Requested: Lcn/passguard/PassGuardEncrypt;.getMd5:(Ljava/lang/String;)Ljava/lang/String;
W/dalvikvm( 9395): threadid=1: thread exiting with uncaught exception (group=0x41e67c50)
解決:
在混淆檔案中,對我們加入的jar包進行免混淆處理
-libraryjars libs/passguard.jar
-keep class cn.passguard.** {*; }
-dontwarn cn.passguard.**