proguard-rules.pro 2.71 KB
# 通用混淆配置
#不混淆泛型 -keepattributes SourceFile
 -keepattributes Signature,InnerClasses,Exceptions,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod

 -optimizationpasses 5
 -dontusemixedcaseclassnames
 -dontskipnonpubliclibraryclasses
 -dontpreverify
 -verbose
 -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

 #忽略警告 也可以用-ignorewarnings
 -ignorewarnings
 -dontwarn

 -keep public class * extends android.app.Activity
 -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
 -keep public class com.android.vending.licensing.ILicensingService

 -keepclasseswithmembernames class * {
     native <methods>;
 }

 -keepclasseswithmembers class * {
     public <init>(android.content.Context, android.util.AttributeSet);
 }

 -keepclasseswithmembers class * {
     public <init>(android.content.Context, android.util.AttributeSet, int);
 }

 -keepclassmembers class * extends android.app.Activity {
     public void *(android.view.View);
 }

 -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>;
}

# 通用混淆配置 End

#统计SDK
-keep class com.cnlive.libs.base.analytics.CNLiveProbe {*;}
#应用配置信息
-keep class com.cnlive.libs.base.application.AppConfig {*;}
#基础框架
-keep class com.cnlive.libs.base.frame.** {*;}
-keep class com.cnlive.libs.base.logic.** {*;}
-keep class com.cnlive.libs.base.recevier.** {*;}
-keep class com.cnlive.libs.base.util.** {*;}

# If single-type injection is used, that is, no interface is defined to implement IProvider, the following rules need to be added to protect the implementation
-keep class * implements com.alibaba.android.arouter.facade.template.IProvider
# # If you use the byType method to obtain Service, add the following rules to protect the interface:
-keep interface * implements com.alibaba.android.arouter.facade.template.IProvider
-keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}

-keep  interface com.cnlive.libs.base.arouter.user.CNLiveUserService{*;}
-keep  interface com.cnlive.libs.base.arouter.pay.CNLivePayService{*;}
-keep  interface com.cnlive.libs.base.arouter.share.CNLiveShareService{*;}