ar_tourism_flutter_unity/android/app/proguard-android-optimize.txt
2025-05-14 17:04:13 +08:00

74 lines
2.0 KiB
Plaintext

# Flutter 相关混淆规则
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.** { *; }
-keep class io.flutter.util.** { *; }
-keep class io.flutter.view.** { *; }
-keep class io.flutter.** { *; }
-keep class io.flutter.plugins.** { *; }
# Kotlin 相关混淆规则
-keep class kotlin.** { *; }
-keep class kotlin.Metadata { *; }
-dontwarn kotlin.**
-keepclassmembers class **$WhenMappings {
<fields>;
}
# 保持序列化相关类
-keepclassmembers class * {
@com.google.gson.annotations.SerializedName <fields>;
}
# Unity相关混淆规则
-keep class com.unity3d.player.** { *; }
-keep class com.unity3d.** { *; }
-keep class org.fmod.** { *; }
# EasyAR相关混淆规则
-keep class cn.easyar.** { *; }
-keep class com.arengine.** { *; }
# 保持原生方法
-keepclasseswithmembernames class * {
native <methods>;
}
# 保持自定义View的get/set方法
-keepclassmembers public class * extends android.view.View {
void set*(***);
*** get*();
}
# 保持Parcelable相关类
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
# 保持Serializable相关类
-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 <fields>;
!private <methods>;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
# 保持枚举类
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
# 移除日志打印
-assumenosideeffects class android.util.Log {
public static *** d(...);
public static *** v(...);
public static *** i(...);
public static *** w(...);
public static *** e(...);
}