一般自己打包的jar包需要屏蔽混淆的代碼:
-dontwarn com.nostra13.universalimageloader.**
這是需要防止需要被打包
-keep class com.nostra13.universalimageloader.** {*;}
-keep interface com.nostra13.universalimageloader.** {*;}
-keep public class * extends com.nostra13.universalimageloader.**
gson包屏蔽代碼混淆時不能混淆相關的bean類不然會出現解析錯誤,無法解析
##---------------Begin: proguard configuration for Gson ----------
# Gson uses generic type information stored in a class file when working with fields. Proguard
# removes such information by default, so configure it to keep all of it.
-keepattributes Signature
# Gson specific classes
-keep class com.google.gson.stream.** { *; }
# Application classes that will be serialized/deserialized over Gson
-keep class com.pupuwang.ycyl.bean.** { *; }
-keep class com.pupuwang.ycyl.main.home.shops.model.** { *; }
-keep class com.pupuwang.ycyl.main.sale.model.** { *; }
-keep class com.pupuwang.ycyl.ordering.model.** { *; }
-keep class com.pupuwang.ycyl.main.feature.model.** { *; }
//這4句是不混淆第三方包中的指定內容,腳本中把這行註釋去掉
-keep class com.ccit.** {*; }
-keep class ccit.** { *; }
-keep class com.aspire.**
-keep class mm.vending.**
還要配置 default.properties
把proguard.config = proguard.cfg 加上
-ignorewarnings 屏蔽warning警告日誌,腳本中把這行註釋去掉
Android導入第三方jar包,proguard混淆腳本(屏蔽警告,不混淆第三方包)
最近1個項目中 需要導入移動MM的第三方計費包,混淆時用到了如下腳本,可屏蔽警告,不混淆第三方包指定內容。
非常有效
proguard.cfg 文件
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-ignorewarnings //這1句是屏蔽警告,腳本中把這行註釋去掉
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
//這1句是導入第三方的類庫,防止混淆時候讀取包內容出錯,腳本中把這行註釋去掉