Release 模式(APK):启用了 ProGuard 混淆,但没有配置

proguard-rules.pro
    - VPN 相关类可能被混淆、重命名或移除
    - VpnService.prepare() 调用可能被优化掉
    - 权限检查逻辑被破坏
This commit is contained in:
Rust 2025-10-23 17:31:12 +08:00
parent 6936fab392
commit f563865e89

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

@ -0,0 +1,63 @@
# VPN Service 保护规则
-keep class com.hiddify.hiddify.bg.VPNService {*;}
-keep class com.hiddify.hiddify.bg.VPNService$* {*;}
-keep class com.hiddify.hiddify.bg.BoxService {*;}
-keep class com.hiddify.hiddify.bg.BoxService$* {*;}
-keep class com.hiddify.hiddify.MainActivity {*;}
-keep class com.hiddify.hiddify.MainActivity$* {*;}
# 保护所有 VPN 相关类
-keep class android.net.VpnService {*;}
-keep class * extends android.net.VpnService {*;}
# 保护 Service Connection
-keep class com.hiddify.hiddify.bg.ServiceConnection {*;}
-keep class com.hiddify.hiddify.bg.ServiceConnection$* {*;}
# 保护 libbox 相关
-keep class io.nekohasekai.libbox.** {*;}
-keep interface io.nekohasekai.libbox.** {*;}
# 保护 Settings
-keep class com.hiddify.hiddify.Settings {*;}
-keep class com.hiddify.hiddify.Settings$* {*;}
# 保护 Kotlin 相关
-keep class kotlin.** {*;}
-keep interface kotlin.** {*;}
# 保护协程相关
-keep class kotlinx.coroutines.** {*;}
-keep interface kotlinx.coroutines.** {*;}
# 保护 AndroidX 相关
-keep class androidx.** {*;}
-keep interface androidx.** {*;}
# 保护所有回调接口
-keep class com.hiddify.hiddify.bg.ServiceConnection$Callback {*;}
-keep interface com.hiddify.hiddify.bg.ServiceConnection$Callback {*;}
# 保护 Intent 和相关
-keep class android.content.Intent {*;}
# 不要混淆本地方法
-keepclasseswithmembernames class * {
native <methods>;
}
# 保护 enum
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
# 保护 Parcelable 对象
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
# 保护异常处理
-keepclasseswithmethodnames class * {
*** *(...);
}