feat: 构建flutter 基座

This commit is contained in:
Booker
2026-05-18 13:36:54 +07:00
parent ce8ce5ec13
commit 37e4d73861
75 changed files with 3887 additions and 132 deletions

126
android/app/proguard-rules.pro vendored Normal file
View File

@@ -0,0 +1,126 @@
# ============================================
# 代码混淆和加固配置
# ============================================
# 优化配置
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose
# 移除日志减少APK大小提高安全性
-assumenosideeffects class android.util.Log {
public static *** d(...);
public static *** v(...);
public static *** i(...);
public static *** w(...);
public static *** e(...);
public static *** println(...);
}
# ============================================
# OpenIM SDK混淆规则
# ============================================
-keep class io.openim.** { *; }
-keep class open_im_sdk.** { *; }
-keep class open_im_sdk_callback.** { *; }
# ============================================
# Flutter相关(必须保留)
# ============================================
-keep class io.flutter.** { *; }
-keep class io.flutter.plugins.** { *; }
-keep class io.flutter.embedding.** { *; }
# Flutter Engine
-keep class io.flutter.embedding.engine.** { *; }
-keep class io.flutter.plugin.common.** { *; }
# ============================================
# 保持所有native方法
# ============================================
-keepclasseswithmembernames class * {
native <methods>;
}
# ============================================
# 保持所有枚举
# ============================================
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
# ============================================
# 保持所有Serializable类
# ============================================
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
# ============================================
# 保持反射使用的类
# ============================================
-keepattributes Signature
-keepattributes *Annotation*
-keepattributes EnclosingMethod
-keepattributes InnerClasses
-keepattributes Exceptions
# ============================================
# 保持Parcelable
# ============================================
-keepclassmembers class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator CREATOR;
}
# ============================================
# 保持R类资源类
# ============================================
-keepclassmembers class **.R$* {
public static <fields>;
}
# ============================================
# 混淆配置(提高安全性)
# ============================================
# 混淆类名
-keepnames class * extends android.app.Activity
-keepnames class * extends android.app.Application
-keepnames class * extends android.app.Service
-keepnames class * extends android.content.BroadcastReceiver
-keepnames class * extends android.content.ContentProvider
# 保持MainActivity应用入口
-keep class io.openim.flutter.openim.MainActivity { *; }
# ============================================
# 防止反编译(增强加固)
# ============================================
# 移除行号信息(提高安全性,崩溃日志可通过符号文件还原)
-keepattributes SourceFile
-renamesourcefileattribute SourceFile
# 移除调试信息
-assumenosideeffects class * {
public static *** print*(...);
public static *** println*(...);
}
# 混淆类名和包名(增强安全性)
-repackageclasses ''
-flattenpackagehierarchy ''
# 优化配置(增强混淆效果)
-optimizationpasses 5
-allowaccessmodification
-dontpreverify
# 移除未使用的代码
-dontwarn **