當前位置:編程學習大全網 - 源碼下載 - android proguard 混淆後gson解析數據壹直為null

android proguard 混淆後gson解析數據壹直為null

混淆代碼的時候註意事項:android使用打包過程中proguard混淆後,會導致壹些錯誤1.寫在視圖xml中的onClick響應出錯.因為寫在xml中的onClick是通過反射調用的,proguard認為它們沒有在代碼中被調用過,所以將它們從代碼中除掉或改名了.解決方法:在proguard.cfg中添加以下代碼,就可以防止被配在視圖xml中的onClick方法被proguard優化掉-keepclassmembersclass*extendsandroid.app.Activity{publicvoid*(android.view.View);}2.jni反調java方法這些類或方法同樣可能會被proguard認為沒有調用過而被除掉,或都被改名.這些方法最好統壹寫在壹個類中,然後這個類不作優化,或是找出所有jni調用過的類與方法,在proguard.cfg中配置,不對它們作優化3.其它反射調用的java類與方法使用反射時壹定要註意proguard可能會認為那些方法未被調用過,會在代碼優化過程中將它們改名或除去.在使用反射的地方壹定要在proguard.cfg中配置,不優化反射調用過的類和方法最後在proguard優化過後會產生壹些文件dump.txt–描述.apk文件中所有類文件間的內部結構mapping.txt–列出了原始的類,方法和字段名與混淆後代碼間的映射。這個文件很重要,當妳從release版本中收到壹個bug報告時,可以用它來翻譯被混淆的代碼。seeds.txt–列出了未被混淆的類和成員usage.txt–列出了從.apk中刪除的代碼要註意分析mapping.txt與usage.txt看xml視圖中寫的onClick響應函數,jni調用到的java類與方法,反射調用過的類與方法是否被混淆或重命名-keepclasscom.badlogic.gdx.backends.android.**{*;}像這樣的只是不混淆:這個包下的類(不包括子包裏的東西),用到壹個第三文的類就要把這個類所在的包,像上面加上還要註意的是android-support-v4.jar這個包問題,這裏加上了對這個jar包的處理詳細可參見:9928801

  • 上一篇:Imdb源代碼
  • 下一篇:Linux系統應用程序
  • copyright 2024編程學習大全網