makcar/app/proguard-rules.pro

157 lines
5.2 KiB
Prolog
Raw Permalink 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.

-keepattributes Exceptions,InnerClasses,*Annotation*,Signature,EnclosingMethod
-dontshrink
-dontoptimize
-dontpreverify
-dontnote
-ignorewarnings
-keepclassmembers enum * {
public static <methods>;
}
# 避免混淆Annotation内部类泛型匿名类
-keepattributes *Annotation*,InnerClasses,Signature,EnclosingMethod
-keep class com.aros.apron.entity.** { *; }
-keep class com.aros.apron.callback.** { *; }
# 保持Paho MQTT库的关键类不被混淆
-keep class org.eclipse.paho.** { *; }
-keepclassmembers class org.eclipse.paho.** { *; }
-keepnames class * implements java.io.Serializable
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
!static !transient <fields>;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
-keep class * extends android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-dontwarn com.tencent.bugly.**
-keep public class com.tencent.bugly.**{*;}
-keep,allowshrinking class * extends dji.publics.DJIUI.** {
public <methods>;
}
#加固后的AAR其内容无法被混淆工具识别所以MSDK外部依赖的类必须被Keep
-keep class net.sqlcipher.** { *; }
-keep class net.sqlcipher.database.* { *; }
-keep class dji.** { *; }
-keep class com.dji.** { *; }
-keep class djimrtc.** { *; }
-keep class com.google.** { *; }
-keep class org.bouncycastle.** { *; }
-keep class org.** { *; }
-keep class com.squareup.wire.** { *; }
-keep class sun.misc.Unsafe { *; }
-keep class com.secneo.** {*;}
-keep class org.greenrobot.eventbus.**{*;}
-keep class com.commonsware.**{*;}
-keep class io.reactivex.**{*;}
-keep class okhttp3.**{*;}
-keep class okio.**{*;}
-keep class org.bouncycastle.**{*;}
-keep class sun.**{*;}
-keep class java.**{*;}
-keep class com.amap.api.**{*;}
-keep class com.here.**{*;}
-keep class com.mapbox.**{*;}
-keep class retrofit2.**{*;}
-keepclasseswithmembers,allowshrinking class * {
native <methods>;
}
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
-keep class androidx.appcompat.widget.SearchView { *; }
-keepclassmembers class * extends android.app.Service
-keepclassmembers public class * extends android.view.View {
void set*(***);
*** get*();
}
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
-keep class kotlin.** { *; }
-keep class androidx.** { *; }
-keep class android.** { *; }
-keep class com.android.** { *; }
-keep class android.media.** { *; }
-keep class okio.** { *; }
-keep class com.lmax.disruptor.** {
*;
}
-dontwarn com.mapbox.services.android.location.LostLocationEngine
-dontwarn com.mapbox.services.android.location.MockLocationEngine
-keepclassmembers class * implements android.arch.lifecycle.LifecycleObserver {
<init>(...);
}
# ViewModel's empty constructor is considered to be unused by proguard
-keepclassmembers class * extends android.arch.lifecycle.ViewModel {
<init>(...);
}
# keep Lifecycle State and Event enums values
-keepclassmembers class android.arch.lifecycle.Lifecycle$State { *; }
-keepclassmembers class android.arch.lifecycle.Lifecycle$Event { *; }
# keep methods annotated with @OnLifecycleEvent even if they seem to be unused
# (Mostly for LiveData.LifecycleBoundObserver.onStateChange(), but who knows)
-keepclassmembers class * {
@android.arch.lifecycle.OnLifecycleEvent *;
}
-keepclassmembers class * implements android.arch.lifecycle.LifecycleObserver {
<init>(...);
}
-keep class * implements android.arch.lifecycle.LifecycleObserver {
<init>(...);
}
-keepclassmembers class android.arch.** { *; }
-keep class android.arch.** { *; }
-dontwarn android.arch.**
#<------------ utmiss config start------------>
-keep class dji.sdk.utmiss.** { *; }
-keep class utmisslib.** { *; }
#<------------ utmiss config end------------>
# 地图相关
-keep class com.dji.mapkit.amap.provider.AMapProvider {*;}
-keep class com.dji.mapkit.maplibre.provider.MapLibreProvider {*;}
-keep class com.dji.mapkit.core.** {*;}
-keep class com.autonavi.** {*;}
-keep class com.alibaba.fastjson.**{*;}
## keep 千寻相关接口
-keep class com.qx.wz.dj.rtcm.** {*;}
# 在项目的proguard-rules.pro文件中添加以下规则
# 排除OpenCV的.so文件
-keep class org.opencv.** { *; }
-keep class org.opencv.engine.** { *; }
-keep class org.opencv.imgproc.** { *; }
-keep class org.opencv.core.** { *; }
-keep class org.opencv.features2d.** { *; }
-keep class org.opencv.ml.** { *; }
-keep class org.opencv.photo.** { *; }
-keep class org.opencv.video.** { *; }
-keep class org.opencv.calib3d.** { *; }
-keep class org.opencv.utils.** { *; }
-keep class org.opencv.flann.** { *; }
-keep class org.opencv.objdetect.** { *; }
-keep class org.opencv.xfeatures2d.** { *; }
-keep class org.opencv.ximgproc.** { *; }
-keep class org.opencv.xphoto.** { *; }
# 如果你有自定义的OpenCV类确保也要保证这些类不被混淆
-keep class com.example.opencv.** { *; }