最近项目第一个版本出来了,打包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?