zftlive/apps/zftlive-framework-samples/proguard-rules.pro

371 lines
16 KiB
Prolog
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# This is a configuration file for ProGuard.
# http://proguard.sourceforge.net/index.html#manual/usage.html
####################注释说明(开始)###############################
#忽略警告
#-ignorewarnings
#抑制错误警告-->找不到com.xx.bbb.**包里面的类的相关引用等等
# -dontwarn
#所有类和所有方法不混淆
# -keep class
#指明lib包的在工程中的路径
# -libraryjars
#是否使用大小写混合
# -dontusemixedcaseclassnames
#指定代码的压缩级别0 ~ 7
# -optimizationpasses 5
#是否使用大小写混合
# -dontusemixedcaseclassnames
#是否混淆第三方jar 如果应用程序引入的有jar包,并且想混淆jar包里面的class
# -dontskipnonpubliclibraryclasses
#混淆时是否做预校验
# -dontpreverify
#混淆时是否记录日志
# -verbose
#混淆时所采用的算法
# -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
####################注释说明(结束)###############################
#忽略警告
-ignorewarnings
#是否使用大小写混合
-dontusemixedcaseclassnames
#是否混淆第三方jar 如果应用程序引入的有jar包,并且想混淆jar包里面的class最好不要混淆第三方的jar
#-dontskipnonpubliclibraryclasses
#指定代码的压缩级别0 ~ 7
-optimizationpasses 5
#混淆时是否记录日志
-verbose
############################################Android默认混淆配置开始#############################################
# Optimization is turned off by default. Dex does not like code run
# through the ProGuard optimize and preverify steps (and performs some
# of these optimizations on its own).
#是否对类内部代码进行优化,默认优化(如果需要删除日志输出代码则不能配置这个)
# -dontoptimize
-dontpreverify
# Note that if you want to enable optimization, you cannot just
# include optimization flags in your own project configuration file;
# instead you will need to point to the
# "proguard-android-optimize.txt" file instead of this one from your
# project.properties file.
-keepattributes *Annotation*
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService
# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
-keepclasseswithmembernames class * {
native <methods>;
}
# keep setters in Views so that animations can still work.
# see http://proguard.sourceforge.net/manual/examples.html#beans
-keepclassmembers public class * extends android.view.View {
void set*(***);
*** get*();
}
# We want to keep methods in Activity that could be used in the XML attribute onClick
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-keepclassmembers class **.R$* {
public static <fields>;
}
# The support library contains references to newer platform versions.
# Don't warn about those in case this app is linking against an older
# platform version. We know about them, and they are safe.
-dontwarn android.support.**
############################################Android默认混淆配置结束#############################################
#####视图模板类库混淆配置####
-keep public class * implements com.zftlive.android.library.base.templet.IViewTemplet {
public <methods>;
}
-keep public class * extends com.zftlive.android.library.base.templet.AbsViewTemplet {
public <methods>;
}
-keep public class * extends com.zftlive.android.library.base.adapter.RecyclerViewTemplet {
public <methods>;
}
############################################Android删除日志输出代码配置开始#############################################
# 日志输出
-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String, int);
public static int v(...);
public static int i(...);
public static int w(...);
public static int d(...);
public static int e(...);
}
# 系统打印
-assumenosideeffects class java.io.PrintStream{
public void print(...);
public void println(...);
}
############################################Android删除日志输出代码配置结束#############################################
############################################Android四大组件/基本类-组件/数据模型混淆配置(开始)#############################################
-keep public class * extends android.app.Activity
-keep public class * extends android.app.SherlockActivity
-keep public class * extends android.app.Fragment
-keep public class * extends android.support.v4.app.Fragment
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
############################################Android四大组件/基本类-组件/数据模型混淆配置(结束)#############################################
############################################Application/R/V4辅助包混淆配置开始#############################################
#Application不进行混淆拷贝时注意记得修改成自己APP的包
-keep public class com.zftlive.android.GlobalApplication
#当前工程的R文件不进行混淆必须保留
-keep public class com.zftlive.android.R
-keep class com.zftlive.android.R$* { *; }
-keepclassmembers class com.zftlive.android.R$* {
<fields>;
<methods>;
}
#android辅助包
#-libraryjars libs/android-support-v4.jar
-dontwarn android.support.v4.**
-keep class android.support.v4.**
-keep interface android.support.v4.app.** {*;}
############################################Application/R/V4辅助包混淆配置结束#############################################
############################################zftlive-xxx或者Ajava-Android-lib-Vxxx.jar开始#############################################
#类库R文件不能混淆必须保留
-keep public class com.zftlive.android.library.R
-keep class com.zftlive.android.library.R$* { *; }
-keepclassmembers class com.zftlive.android.library.R$* {
<fields>;
<methods>;
}
#网络检测类(防止找不到构造方法)
-keep public class com.zftlive.android.library.tools.ToolNetwork
-keepclassmembers class com.zftlive.android.library.tools.ToolNetwork{
public *;
}
#分享工具类(防止找不到构造方法)
-keep public class com.zftlive.android.library.tools.ToolShareSDK
-keepclassmembers class com.zftlive.android.library.tools.ToolShareSDK{
public *;
}
#数据库操作类(防止找不到构造方法)
-keep public class com.zftlive.android.library.tools.ToolDatabase
-keepclassmembers class com.zftlive.android.library.tools.ToolDatabase{
public *;
}
#保留所有序列化的实体类名、字段、方法使用了GSON或者数据库映射
-keep public class * extends com.zftlive.android.library.base.BaseEntity
-keepclasseswithmembers class * extends com.zftlive.android.library.base.BaseEntity{
<fields>;
<methods>;
}
#自定义控件保留,防止找不到类(使用包名通配和类继承关系)
-keep public class * extends com.zftlive.android.library.base.BaseView
-keepclasseswithmembers class * extends com.zftlive.android.library.base.BaseView{
<fields>;
<methods>;
}
-dontwarn com.zftlive.android.library.widget.**
-keep class com.zftlive.android.library.widget.** {*;}
#集成的第三方开源类库不混淆
-dontwarn com.zftlive.android.library.third.**
-keep class com.zftlive.android.library.third.** {*;}
############################################zftlive-xxx或者Ajava-Android-lib-Vxxx.jar结束#############################################
############################################第三方jar混淆保留配置开始#############################################
####################信鸽推送(开始)#####################
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep class com.tencent.android.tpush.** {*;}
-keep class com.tencent.mid.** {*;}
####################信鸽推送(结束)#####################
####################百度地图、定位、LBS相关jar开始#####################
-dontwarn com.baidu.**
-keep class com.baidu.** {*;}
-dontwarn vi.com.gdi.bgl.android.java.**
-keep class vi.com.gdi.bgl.android.java.** {*;}
####################百度地图、定位、LBS相关jar结束#####################
####################谷歌开源项目相关zxing/gson/volley/RoboGuice2开始#####################
#谷歌zxing二维码相关jar
-dontwarn com.google.zxing.**
-keep class com.google.zxing.** {*;}
#谷歌GSON
-keepattributes Signature
-keepattributes *Annotation*
-keep class sun.misc.Unsafe { *; }
-keep class com.google.gson.stream.** { *; }
#谷歌Volley
-dontwarn com.android.http.**
-keep class com.android.http.** {*;}
-dontwarn com.android.volley.**
-keep class com.android.volley.** {*;}
#谷歌 RoboGuice2框架相关jar
-dontwarn com.google.inject.**
-keep class com.google.inject.** {*;}
-dontwarn roboguice.**
-keep class roboguice.** {*;}
-dontwarn javax.annotation.**
-keep class javax.annotation.** {*;}
-dontwarn javax.inject.**
-keep class javax.inject.** {*;}
####################谷歌开源项目相关zxing/gson/volley/RoboGuice2结束#####################
####################ShareSdk相关jar开始###########################
#mob工具类/Log相关
-dontwarn com.mob.**
-keep class com.mob.** {*;}
#sharesdk社会化组件
-dontwarn cn.sharesdk.**
-keep class cn.sharesdk.** {*;}
#发送短信验证码jar
#-libraryjars libs/SMSSDK-1.2.2.jar
-dontwarn cn.smssdk.**
-keep class cn.smssdk.** {*;}
-dontwarn a.a.a.a.**
-keep class a.a.a.a.** {*;}
####################ShareSdk相关jar结束###########################
####################环信即时通讯IM相关jar开始###########################
-keep class org.xmlpull.** {*;}
-keep class com.baidu.** {*;}
-keep public class * extends com.umeng.**
-keep class com.umeng.** { *; }
-keep class com.squareup.picasso.* {*;}
-keep class com.easemob.* {*;}
-keep class com.easemob.chat.** {*;}
-keep class org.jivesoftware.** {*;}
-keep class org.apache.** {*;}
#另外demo中发送表情的时候使用到反射需要keep SmileUtils,注意前面的包名,
#不要SmileUtils复制到自己的项目下keep的时候还是写的demo里的包名
-keep class com.easemob.chatuidemo.utils.SmileUtils {*;}
#2.0.9后加入语音通话功能如需使用此功能的api加入以下keep
-keep class net.java.sip.** {*;}
-keep class org.webrtc.voiceengine.** {*;}
-keep class org.bitlet.** {*;}
-keep class org.slf4j.** {*;}
-keep class ch.imvs.** {*;}
####################环信即时通讯IM相关jar结束###########################
####################SOAP访问第三方jar ksoap2-android.jar开始#####################
-dontwarn org.kobjects.**
-keep class org.kobjects.** {*;}
-dontwarn org.ksoap2.**
-keep class org.ksoap2.** {*;}
-dontwarn org.kxml2.**
-keep class org.kxml2.** {*;}
-dontwarn org.xmlpull.**
-keep class org.xmlpull.** {*;}
####################SOAP访问第三方jar ksoap2-android.jar结束#####################
####################nineoldandroids开始#####################
-dontwarn com.nineoldandroids.**
-keep class com.nineoldandroids.** {*;}
####################nineoldandroids结束#####################
####################achartengine开始#####################
-dontwarn org.achartengine.**
-keep class org.achartengine.** {*;}
####################achartengine结束#####################
####################滑动菜单SlidingMenu相关jar开始##################
#-dontwarn com.jeremyfeinstein.slidingmenu.lib.**
#-keep class com.jeremyfeinstein.slidingmenu.lib.** {*;}
####################滑动菜单SlidingMenu相关jar结束###################
####################ActionBarSherlock相关jar开始####################
#-dontwarn com.actionbarsherlock.**
#-keep class com.actionbarsherlock.** {*;}
####################ActionBarSherlock相关jar结束####################
####################图片异步加载universal-image-loader开始#####################
#-dontwarn com.nostra13.universalimageloader.**
#-keep class com.nostra13.universalimageloader.** {*;}
####################图片异步加载universal-image-loader结束#####################
####################ormlite数据库操作相关jar开始#####################
#-libraryjars libs/ormlite-android-4.48.jar
#-libraryjars libs/ormlite-core-4.48.jar
#-dontwarn com.j256.ormlite.**
#-keep class com.j256.ormlite.** {*;}
####################ormlite数据库操作相关jar结束#####################
####################网络通信相关jar开始###########################
#-libraryjars libs/android-async-http-1.4.5.jar
#-dontwarn com.loopj.android.http.**
#-keep class com.loopj.android.http.** {*;}
####################网络通信相关jar结束############################
####################asmack操作相关jar开始#####################
#-dontwarn com.kenai.jbosh.**
#-keep class com.kenai.jbosh.** {*;}
#-dontwarn com.novell.sasl.client.**
#-keep class com.novell.sasl.client.** {*;}
#-dontwarn de.measite.smack.**
#-keep class de.measite.smack.** {*;}
#-dontwarn org.xbill.DNS.**
#-keep class org.xbill.DNS.** {*;}
#-dontwarn org.jivesoftware.smack.**
#-keep class org.jivesoftware.smack.** {*;}
#-dontwarn org.jivesoftware.smackx.**
#-keep class org.jivesoftware.smackx.** {*;}
#-dontwarn org.apache.qpid.management.common.sasl.**
#-keep class org.apache.qpid.management.common.sasl.** {*;}
#-dontwarn org.apache.harmony.javax.security.**
#-keep class org.apache.harmony.javax.security.** {*;}
####################asmack操作相关jar结束#####################
####################poi辅助包开始#####################
#-libraryjars libs/poi-3.9-20121203.jar
#-libraryjars libs/poi-scratchpad-3.9-20121203.jar
#-dontwarn org.apache.poi.**
#-keep class org.apache.poi.** {*;}
####################poi辅助包结束#####################
####################表单验证插件 android-validation-komensky0.9.3.jar开始#####################
#-dontwarn eu.inmite.android.lib.**
#-keep class eu.inmite.android.lib.** {*;}
####################表单验证插件 android-validation-komensky0.9.3.jar结束#####################
####################XStream操作xml与Bean之间转换jar开始#####################
#-dontwarn com.thoughtworks.xstream.**
#-keep class com.thoughtworks.xstream.** {*;}
####################XStream操作xml与Bean之间转换jar结束#####################
# Bugly混淆配置
-dontwarn com.tencent.bugly.**
-keep public class com.tencent.bugly.**{*;}
############################################第三方jar混淆保留配置结束#############################################