上线的项目为了防止代码被反编译我们都会进行配置混淆。但是我们的三方sdk是不能进行混淆的,否则就会出现问题。这里说一下我项目中用到的三方典型,配置混淆问题。
个别不能混淆的类或者方法,或三方库需要在我们的proguard文件里进行配置。
首先所有的javabean不能混淆,需要在proguard中添加:(其中com.model是我们存放bean类的根目录)
#保持某个类不被混淆如下 :
-keep class com.model.** { *; }
然后是greendao:
##-----------------greenDao-------------
-keep class org.greenrobot.greendao.**{*;}
-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
public static java.lang.String TABLENAME;
}
-keep class **$Properties
-keep class net.sqlcipher.database.**{*;}
-keep public interface net.sqlcipher.database.**
-dontwarn net.sqlcipher.database.**
-dontwarn org.greenrobot.greendao.**
然后是rxjava+retrofit+okhttp3+gson
# OkHttp3
-dontwarn okhttp3.logging.**
-keep class okhttp3.