From 424cb908981b8e817c917b116e409e685abaa1e8 Mon Sep 17 00:00:00 2001 From: Administrator Date: Wed, 9 Jul 2025 17:16:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=B7=E6=B7=86=E8=A7=84=E5=88=99=EF=BC=8C?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E9=87=8D=E8=AF=95=E9=97=B4=E9=9A=94=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/proguard-rules.pro | 50 +++++++++++++++++- .../example/studyapp/job/ScriptJobService.kt | 2 +- .../example/studyapp/job/StartJobService.kt | 3 +- app/src/main/jniLibs/arm64-v8a/libnative.so | Bin 78320 -> 78328 bytes 4 files changed, 52 insertions(+), 3 deletions(-) diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 481bb43..0a41c86 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -18,4 +18,52 @@ # If you keep the line number information, uncomment this to # hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file +#-renamesourcefileattribute SourceFile +# 保留 Gson 核心类 +-keep class com.google.gson.** { *; } +-keep class com.google.gson.stream.** { *; } + +# 保留所有注解 +-keepattributes *Annotation* +-keepattributes Signature + +# 保留枚举类 +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +# 保留所有模型类(根据你的包结构调整) +-keep class com.android.grape.pad.** { *; } +-keep class com.example.studyapp.update.ApiResponse{ *; } +-keep class com.example.studyapp.update.ApiResponseList{ *; } + +# 保留所有使用 @SerializedName 注解的字段 +-keepclassmembers class * { + @com.google.gson.annotations.SerializedName ; +} + +# 保留所有模型类的无参构造函数 +-keepclassmembers class com.android.grape.pad.** { + public (); +} + +# 保留类型适配器 +-keep class * extends com.google.gson.TypeAdapter { + public com.google.gson.TypeAdapter create(com.google.gson.Gson, com.google.gson.reflect.TypeToken); +} +# 保留 Gson 创建的类 +-keep class com.google.gson.examples.android.model.** { *; } +-keepattributes Signature + +# 保留 TypeToken 类及其子类 +-keep class com.google.gson.reflect.TypeToken { *; } +-keep class * extends com.google.gson.reflect.TypeToken + +-keep class sun.misc.Unsafe { *; } + +# 保留注解信息 +-keepattributes *Annotation* + +# 保留 Kotlin 元数据(如果使用 Kotlin) +-keepclassmembers class **$TypeToken { *; } \ No newline at end of file diff --git a/app/src/main/java/com/example/studyapp/job/ScriptJobService.kt b/app/src/main/java/com/example/studyapp/job/ScriptJobService.kt index 45ae1af..39fa92a 100644 --- a/app/src/main/java/com/example/studyapp/job/ScriptJobService.kt +++ b/app/src/main/java/com/example/studyapp/job/ScriptJobService.kt @@ -27,7 +27,7 @@ class ScriptJobService : JobIntentService() { override fun onJobFailed() { Handler(Looper.getMainLooper()).postDelayed({ StartJobService.onEvent(applicationContext) - }, 1000 * 60 * 5) + }, 1000 * 20) } }) } diff --git a/app/src/main/java/com/example/studyapp/job/StartJobService.kt b/app/src/main/java/com/example/studyapp/job/StartJobService.kt index 22739f1..2615a17 100644 --- a/app/src/main/java/com/example/studyapp/job/StartJobService.kt +++ b/app/src/main/java/com/example/studyapp/job/StartJobService.kt @@ -35,7 +35,7 @@ class StartJobService : JobIntentService() { override fun onJobFailed() { Handler(Looper.getMainLooper()).postDelayed({ onEvent(this@StartJobService) - }, 1000 * 5) + }, 1000 * 10) } } ) @@ -54,6 +54,7 @@ class StartJobService : JobIntentService() { afDevice: JSONObject? ) { ClashUtil.startProxy(applicationContext) + ClashUtil.switchProxyGroup("PROXY", "DIRECT", "http://127.0.0.1:6170") ClashUtil.switchProxyWithPort(CountryCode.switchCountry()) ClashUtil.switchProxyGroup("PROXY", "my-socks5-proxy", "http://127.0.0.1:6170") changeDevice(packageName, bigoDevice, afDevice, object : ChangeCallBack { diff --git a/app/src/main/jniLibs/arm64-v8a/libnative.so b/app/src/main/jniLibs/arm64-v8a/libnative.so index 290c546bc928c7b9ff7bd8ae8943d807450e1bbf..e323dc039c9bd83eabfb2249d33927b13b27655c 100644 GIT binary patch delta 14687 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
  • `em$k|wjzD>h8|W_v8ttp# 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