最近項目第一個版本出來了,打包apk啊,混淆代碼什麼的,android合成了proguard混淆代碼。
在project.properties檔案中配置proguard.config=proguard.cfg,讓proguard.cfg生效。項目加入了第三方jar包。混淆的時候要把jar排除在外。
#不混淆第三方jar
-dontwarn org.**
-libraryjars libs/commons-net-ftp-2.0.jar
-libraryjars libs/mina-core-2.0.4.jar
-libraryjars libs/slf4j-android-1.5.8.jar
-keep class org.apache.commons.** {*; }
-keep class org.apache.mina.** {*; }
-keep class org.slf4j.** {*; }
## 混淆號錯誤資訊裡帶上程式碼:
-keepattributes SourceFile,LineNumberTable
##關閉log日誌輸出
-assumenosideeffects class android.util.Log{ public static *** d(...); public static *** i(...); public static *** v(...); }
##使用了Google API,需要添加如下聲明
-libraryjars /usr/local/android-sdk/add-ons/google_apis-7_r01/libs/maps.jar
#使用了android-support包,你需要使用以下聲明設定,讓ProGuard知道庫中的一些類並不是在所有版本的API中可用:
-dontwarn android.support.**
另外:
#這1句是屏蔽警告
-ignorewarnings
#這1句是匯入第三方的類庫,防止混淆時候讀取包內容出錯
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
由於項目用的log不是android內建的,而是slf4j裡的log。不知道誰會屏蔽掉這種log?