295 lines
9.6 KiB
Prolog
295 lines
9.6 KiB
Prolog
|
# Add project specific ProGuard rules here.
|
||
|
# By default, the flags in this file are appended to flags specified
|
||
|
# in /Users/macpro/Library/Android/sdk/tools/proguard/proguard-android.txt
|
||
|
# You can edit the include path and order by changing the proguardFiles
|
||
|
# directive in build.gradle.
|
||
|
#
|
||
|
# For more details, see
|
||
|
# http://developer.android.com/guide/developing/tools/proguard.html
|
||
|
|
||
|
# Add any project specific keep options here:
|
||
|
|
||
|
# If your project uses WebView with JS, uncomment the following
|
||
|
# and specify the fully qualified class name to the JavaScript interface
|
||
|
# class:
|
||
|
-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||
|
public *;
|
||
|
}
|
||
|
|
||
|
# Uncomment this to preserve the groupLast number information for
|
||
|
# debugging stack traces.
|
||
|
-keepattributes SourceFile,LineNumberTable
|
||
|
|
||
|
# If you keep the groupLast number information, uncomment this to
|
||
|
# hide the original source file name.
|
||
|
-renamesourcefileattribute SourceFile
|
||
|
|
||
|
-keep class com.yunbao.**{
|
||
|
public <methods>;
|
||
|
protected <methods>;
|
||
|
}
|
||
|
-keep class * implements com.yunbao.common.bean.BaseModel {
|
||
|
*;
|
||
|
}
|
||
|
-keep class com.yunbao.common.bean.** {
|
||
|
*;
|
||
|
}
|
||
|
|
||
|
-keep class com.yunbao.common.views.weight.VerticalViewPager$LayoutParams{
|
||
|
*;
|
||
|
}
|
||
|
-keep class android.**{
|
||
|
*;
|
||
|
}
|
||
|
|
||
|
-keep class **.R$* {
|
||
|
public static <fields>;
|
||
|
}
|
||
|
-keep class com.tencent.** { *; }
|
||
|
-keep class com.adjust.sdk.**{ *; }
|
||
|
-keep class com.google.android.gms.common.ConnectionResult {
|
||
|
int SUCCESS;
|
||
|
}
|
||
|
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {
|
||
|
com.google.android.gms.ads.identifier.AdvertisingIdClient$Info getAdvertisingIdInfo(android.content.Context);
|
||
|
}
|
||
|
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info {
|
||
|
java.lang.String getId();
|
||
|
boolean isLimitAdTrackingEnabled();
|
||
|
}
|
||
|
-keep public class com.android.installreferrer.**{ *; }
|
||
|
-keep class * implements android.os.Parcelable.**{*;}
|
||
|
-keep class * implements android.os.Serializable.**{*;}
|
||
|
-dontwarn javax.annotation.**
|
||
|
|
||
|
-dontwarn javax.inject.**
|
||
|
|
||
|
# OkHttp3
|
||
|
|
||
|
-dontwarn okhttp3.logging.**
|
||
|
|
||
|
-keep class okhttp3.internal.**{*;}
|
||
|
|
||
|
-dontwarn okio.**
|
||
|
#okhttp
|
||
|
-dontwarn okhttp3.**
|
||
|
-keep class okhttp3.**{*;}
|
||
|
|
||
|
#okio
|
||
|
-dontwarn okio.**
|
||
|
-keep class okio.**{*;}
|
||
|
|
||
|
# Retrofit
|
||
|
|
||
|
-dontwarn retrofit2.**
|
||
|
|
||
|
-keep class retrofit2.** { *; }
|
||
|
|
||
|
-keepattributes Signature-keepattributes,Exceptions
|
||
|
|
||
|
# RxJava RxAndroid
|
||
|
-dontwarn java.util.concurrent.Flow*
|
||
|
|
||
|
-dontwarn sun.misc.**
|
||
|
|
||
|
-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
|
||
|
|
||
|
long producerIndex;
|
||
|
|
||
|
long consumerIndex;
|
||
|
|
||
|
}
|
||
|
|
||
|
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef* {
|
||
|
|
||
|
rx.internal.util.atomic.LinkedQueueNode* producerNode;
|
||
|
|
||
|
}
|
||
|
|
||
|
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef* {
|
||
|
|
||
|
rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||
|
|
||
|
}
|
||
|
|
||
|
# Gson
|
||
|
|
||
|
-keep class com.google.gson.stream.** { *; }
|
||
|
##---------------Begin: proguard configuration for Gson ----------
|
||
|
# Gson uses generic type information stored in a class file when working with fields. Proguard
|
||
|
# removes such information by default, so configure it to keep all of it.
|
||
|
-keepattributes Signature
|
||
|
|
||
|
# For using GSON @Expose annotation
|
||
|
-keepattributes *Annotation*
|
||
|
|
||
|
# Gson specific classes
|
||
|
-dontwarn sun.misc.**
|
||
|
#-keep class com.google.gson.stream.** { *; }
|
||
|
|
||
|
# Application classes that will be serialized/deserialized over Gson
|
||
|
-keep class com.google.gson.examples.android.model.** { <fields>; }
|
||
|
|
||
|
# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
|
||
|
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
|
||
|
-keep class * extends com.google.gson.TypeAdapter
|
||
|
-keep class * implements com.google.gson.TypeAdapterFactory
|
||
|
-keep class * implements com.google.gson.JsonSerializer
|
||
|
-keep class * implements com.google.gson.JsonDeserializer
|
||
|
|
||
|
# Prevent R8 from leaving Data object members always null
|
||
|
-keepclassmembers,allowobfuscation class * {
|
||
|
@com.google.gson.annotations.SerializedName <fields>;
|
||
|
}
|
||
|
|
||
|
# Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher.
|
||
|
-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken
|
||
|
-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken
|
||
|
|
||
|
##---------------End: proguard configuration for Gson ----------
|
||
|
|
||
|
-keepattributes EnclosingMethod
|
||
|
#--------融云
|
||
|
-keepattributes Exceptions,InnerClasses
|
||
|
-keepattributes Signature
|
||
|
-keep class io.rong.** {*;}
|
||
|
-keep class cn.rongcloud.** {*;}
|
||
|
-keep class * implements io.rong.imlib.model.MessageContent {*;}
|
||
|
-dontwarn io.rong.push.**
|
||
|
-dontnote com.xiaomi.**
|
||
|
-dontnote com.google.android.gms.gcm.**
|
||
|
-dontnote io.rong.**
|
||
|
# 下方混淆使用了融云 IMKit 提供的 locationKit 位置插件时才需要配置,可参考高德官网的混淆方式:https://lbs.amap.com/api/android-sdk/guide/create-project/dev-attention
|
||
|
-keep class com.amap.api.maps.**{*;}
|
||
|
-keep class com.autonavi.**{*;}
|
||
|
-keep class com.amap.api.trace.**{*;}
|
||
|
-keep class com.amap.api.location.**{*;}
|
||
|
-keep class com.amap.api.fence.**{*;}
|
||
|
-keep class com.loc.**{*;}
|
||
|
-keep class com.autonavi.aps.amapapi.model.**{*;}
|
||
|
-keep class com.amap.api.services.**{*;}
|
||
|
-ignorewarnings
|
||
|
|
||
|
#--------科大讯飞
|
||
|
-keep class com.iflytek.**{*;}
|
||
|
-keepattributes Signature
|
||
|
#EvenBus
|
||
|
-keepattributes *Annotation*
|
||
|
-keepclassmembers class * {
|
||
|
@org.greenrobot.eventbus.Subscribe <methods>;
|
||
|
}
|
||
|
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
|
||
|
|
||
|
# If using AsyncExecutord, keep required constructor of default event used.
|
||
|
# Adjust the class name if a custom failure event type is used.
|
||
|
-keepclassmembers class org.greenrobot.eventbus.util.ThrowableFailureEvent {
|
||
|
<init>(java.lang.Throwable);
|
||
|
}
|
||
|
|
||
|
# Accessed via reflection, avoid renaming or removal
|
||
|
-keep class org.greenrobot.eventbus.android.AndroidComponentsImpl*
|
||
|
|
||
|
#--------ARouter
|
||
|
-keep public class com.alibaba.android.arouter.routes.**{*;}
|
||
|
-keep public class com.alibaba.android.arouter.facade.**{*;}
|
||
|
-keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}
|
||
|
|
||
|
# 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
|
||
|
|
||
|
# 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
|
||
|
|
||
|
#----retrofit2
|
||
|
-keepattributes Signature, InnerClasses, EnclosingMethod
|
||
|
-keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations
|
||
|
-keepattributes AnnotationDefault
|
||
|
-keepclassmembers,allowshrinking,allowobfuscation interface * {
|
||
|
@retrofit2.http.* <methods>;
|
||
|
}
|
||
|
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement*
|
||
|
-dontwarn javax.annotation.**
|
||
|
-dontwarn kotlin.Unit
|
||
|
-dontwarn retrofit2.KotlinExtensions*
|
||
|
-dontwarn retrofit2.KotlinExtensions$*
|
||
|
-if interface * { @retrofit2.http.* <methods>; }
|
||
|
-keep,allowobfuscation interface <1>
|
||
|
-if interface * { @retrofit2.http.* <methods>; }
|
||
|
-keep,allowobfuscation interface * extends <1>
|
||
|
-keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation
|
||
|
-if interface * { @retrofit2.http.* public *** *(...); }
|
||
|
-keep,allowoptimization,allowshrinking,allowobfuscation class <3>
|
||
|
|
||
|
#-----glide
|
||
|
-keep public class com.bumptech.glide.** {*;}
|
||
|
-keep public class jp.co.cyberagent.** {*;}
|
||
|
-dontwarn jp.co.cyberagent.android.gpuimage.**
|
||
|
|
||
|
-printconfiguration tmp/full-r8-config.txt
|
||
|
#---美颜模块需要暴露出来的参数名
|
||
|
-keep class com.yunbao.faceunity.utils.FURenderer{
|
||
|
public static java.lang.String BUNDLE_AI_FACE;
|
||
|
}
|
||
|
-keep class com.yunbao.faceunity.utils.FaceUnityConfig{
|
||
|
public static java.lang.String BUNDLE_FACE_BEAUTIFICATION;
|
||
|
}
|
||
|
-keep class com.faceunity.wrapper.faceunity$LoadConfig*{
|
||
|
private static boolean sLoadedLibrary;
|
||
|
}
|
||
|
-keep class com.umeng.** {*;}
|
||
|
|
||
|
-keep class org.repackage.** {*;}
|
||
|
|
||
|
-keep class com.uyumao.** { *; }
|
||
|
|
||
|
-keepclassmembers class * {
|
||
|
public <init> (org.json.JSONObject);
|
||
|
}
|
||
|
|
||
|
-keepclassmembers enum * {
|
||
|
public static **[] values();
|
||
|
public static ** valueOf(java.lang.String);
|
||
|
}
|
||
|
#----svga
|
||
|
-keep class com.opensource.svgaplayer.**{
|
||
|
public <methods>;
|
||
|
public static <fields>;
|
||
|
}
|
||
|
# json序列化的混淆
|
||
|
-keep class tech.sud.mgp.hello.ui.scenes.ticket.model.** {*;}
|
||
|
-keep class tech.sud.mgp.hello.service.game.req.** {*;}
|
||
|
-keep class tech.sud.mgp.hello.service.game.resp.** {*;}
|
||
|
-keep class tech.sud.mgp.hello.service.login.req.** {*;}
|
||
|
-keep class tech.sud.mgp.hello.service.login.resp.** {*;}
|
||
|
-keep class tech.sud.mgp.hello.service.main.req.** {*;}
|
||
|
-keep class tech.sud.mgp.hello.service.main.resp.** {*;}
|
||
|
-keep class tech.sud.mgp.hello.service.main.config.** {*;}
|
||
|
-keep class tech.sud.mgp.hello.service.room.req.** {*;}
|
||
|
-keep class tech.sud.mgp.hello.service.room.resp.** {*;}
|
||
|
-keep class tech.sud.mgp.hello.service.room.model.** {*;}
|
||
|
-keep class tech.sud.mgp.hello.ui.main.home.model.** {*;}
|
||
|
-keep class tech.sud.mgp.hello.ui.scenes.base.model.** {*;}
|
||
|
-keep class tech.sud.mgp.hello.ui.scenes.common.cmd.** {*;}
|
||
|
-keep class tech.sud.mgp.hello.ui.scenes.custom.model.** {*;}
|
||
|
-keep class tech.sud.mgp.hello.ui.scenes.orderentertainment.model.** {*;}
|
||
|
-keep class tech.sud.mgp.hello.ui.main.settings.model.** {*;}
|
||
|
-keep class tech.sud.mgp.hello.ui.main.nft.model.** {*;}
|
||
|
-keep class tech.sud.mgp.hello.common.event.model.** {*;}
|
||
|
|
||
|
-keep class com.yunbao.common.sud.** {*;}
|
||
|
|
||
|
|
||
|
|
||
|
-ignorewarnings
|
||
|
-keepattributes *Annotation*
|
||
|
-keepattributes Exceptions
|
||
|
-keepattributes InnerClasses
|
||
|
-keepattributes Signature
|
||
|
-keepattributes SourceFile,LineNumberTable
|
||
|
-keep class com.huawei.hianalytics.**{*;}
|
||
|
-keep class com.huawei.updatesdk.**{*;}
|
||
|
-keep class com.huawei.hms.**{*;}
|
||
|
|
||
|
-keep class com.shayu.lib_google.**{*;}
|
||
|
-keep class com.shayu.lib_huawei.**{*;}
|