Android 程式碼混淆can’t find referenced class問題解決方案 阿新 • • 發佈:2019-01-18 前面一文介紹了Android使用ProGuard程式碼混淆技術,不過對於某些引入了第三方jar包的專案可能在匯出的時候會報錯,這時就需要對proguard配置檔案進行一些研究才能解決問題了。 ProGuard 程式碼混淆後匯出警告:can’t find referenced class 一、這時候最簡單的解決方法: 對於有的第三方jar,可能已經進行過程式碼混淆了,在這裡就要保持,例如百度的地圖包jar。保持jar,避免混淆的程式碼如下: -keep class com.baidu.mapapi.** {*;} 不混淆com.baidu.mapapi包中的所有程式碼,類名、方法、變數等。 在此感謝作者,解決了我的問題,其實最終方案很簡單,新增兩行就好了: 其實找不到引用的這個類是第三方包裡面的,而且很多時候我們只需要打亂自己的程式碼就行了,第三方包的程式碼就是否要打亂就不要管了。 我們可以使用: -dontwarn com.xx.bbb.**-keep class com.xx.bbb.** { *;} 引數來保持第三方庫中的類而不亂,-dontwarn和-keep 結合使用,意思是保持com.xx.bbb.**這個包裡面的所有類和所有方法而不混淆,接著還叫ProGuard不要警告找不到com.xx.bbb.**這個包裡面的類的相關引用。 配置好後,重新打包,一切OK!而且程式能正確執行。 以上是本人在寫混淆配置檔案的時候遇到的錯誤解決方法 本人在專案中開發使用ant批量打包混淆的配置檔案已經上傳 點選開啟連結 http://download.csdn.net/detail/fancylovejava/8551463 記錄下,以後再做其他專案批量打包的時候可以借鑑下! 相關推薦 no