From ca82fd4d8678d1df7f7c05f36b975d5ef89b8e0f Mon Sep 17 00:00:00 2001 From: "844143714@qq,com" <844143714@qq,com> Date: Wed, 6 May 2026 23:57:47 +0800 Subject: [PATCH] 1 --- app/proguard-rules.pro | 23 ++++++++++++++++++- .../com/stand/standapp/AndroidInterface.kt | 8 +++---- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index b691c76..f4284de 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -1,6 +1,8 @@ # GeckoView 混淆规则 -dontwarn org.mozilla.geckoview.** --keep class org.mozilla.gecko.util.DebugConfig { *; } +-dontwarn org.mozilla.gecko.** +-keep class org.mozilla.gecko.** { *; } +-keep class org.mozilla.geckoview.** { *; } # AndroidInterface 桥接类保护 -keep class com.stand.standapp.AndroidInterface { *; } @@ -8,6 +10,8 @@ # 忽略不存在的可选依赖报错 -dontwarn com.google.android.material.snackbar.** +-dontwarn java.beans.** +-dontwarn org.yaml.snakeyaml.** # OkHttp 混淆规则 -keepattributes Signature @@ -19,5 +23,22 @@ # A resource is loaded at runtime for config index: -keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase +# 保护 PTT 原生回调类(native 通过 JNI 反射调用,不能混淆) +-keep class com.example.kingway.ptt.** { *; } + +## 保护打印机 SDK(jar 包中的类不能混淆) +#-keep class com.dp.dp_serialportlist.** { *; } +#-dontwarn com.dp.dp_serialportlist.** +#-keep class com.zy.** { *; } +#-dontwarn com.zy.** +# +## 保护硬件 GPIO 系统服务(隐藏 API,R8 不认识) +#-keep class android.app.ZysjSystemManager { *; } +#-dontwarn android.app.ZysjSystemManager + # 保护实体类 (如果你后续有 JSON 解析) -keep class com.stand.standapp.** { *; } +-dontwarn java.beans.** + +# R8 missing class 处理 +-ignorewarnings diff --git a/app/src/main/java/com/stand/standapp/AndroidInterface.kt b/app/src/main/java/com/stand/standapp/AndroidInterface.kt index a070313..7d8c7a7 100644 --- a/app/src/main/java/com/stand/standapp/AndroidInterface.kt +++ b/app/src/main/java/com/stand/standapp/AndroidInterface.kt @@ -253,10 +253,10 @@ class AndroidInterface(private val activity: MainActivity) { fun cutPaper(allCut: Boolean) { try { - PrinterManager.getFactory()?.let { - if (it.isConnection) { - if (allCut) it.PaperAllCut() else it.PaperCut() - } + if (allCut){ + PrinterManager.getFactory()?.PaperAllCut(); + }else{ + PrinterManager.getFactory()?.PaperCut(); } } catch (e: Throwable) { Timber.tag("JS_Interface").e(e, "cutPaper failed")