Skip to content

BUG: 安卓12版本使用链式代理或路由规则outbound闪退 #7

@yun-666-666

Description

@yun-666-666

描述问题

预期行为:使用链式代理或路由规则outbound应该正常进行

实际行为:点击outbound选择“选择配置”会直接闪退。前置代理和落地代理中的“选择配置”点击也是同样闪退

如何复现

在安卓12版本手机上尝试使用链式代理

我的手机系统为miui 13.0.23,安卓版本12。出现该问题后,结合日志文件我询问ai,答复如下:NekoBox for Android (NB4A) 应用程序崩溃的根本原因是应用版本与您的 Android 系统版本不兼容。

应用在尝试调用一个在您的系统上不存在的方法时引发了致命错误。
崩溃详情
错误类型:
java.lang.NoSuchMethodError (方法未找到错误) 。
错误信息:
No virtual method getParcelableExtra(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; in class Landroid/content/Intent;
崩溃位置: 当应用尝试打开 io.nekohasekai.sagernet.ui.ProfileSelectActivity (个人资料选择界面) 时崩溃 。

详细解释
简单来说,您安装的 NekoBox for Android 1.4.1-UwU 版本的代码在尝试打开“选择配置/Profile”界面时,使用了一个仅在 Android 13 (SDK 33) 或更高版本中才存在的特定 Android 系统功能。
然而,您的设备运行的是 Android 12 (SDK 31) 。
当应用尝试在 Android 12 上调用这个 "只在 Android 13 上才有" 的功能时,系统无法找到该方法,从而导致了 NoSuchMethodError 错误,使应用程序崩溃 。

日志

NekoBox for Android 1.4.1-UwU (225)
Date: 2025-11-02 07:07:46.653 UTC

OS_VERSION: 5.10.101-android12-9-00001-gf4c0e37dbcde-ab8596533
SDK_INT: 31
RELEASE: 12
ID: SP1A.210812.016
DISPLAY: SP1A.210812.016
INCREMENTAL: 5.20 颜颜不信爱情
SECURITY_PATCH: 2022-07-01
IS_DEBUGGABLE: 0
IS_EMULATOR: null
IS_TREBLE_ENABLED: true
TYPE: user
TAGS: release-keys

MANUFACTURER: Xiaomi
BRAND: Redmi
MODEL: [REDACTED]
PRODUCT: [REDACTED]
BOARD: [REDACTED]
HARDWARE: mt6983
DEVICE: [REDACTED]
SUPPORTED_ABIS: arm64-v8a, armeabi-v7a, armeabi

Settings:

mixedPort: 2080
app_language:
mtu: 9000
showDirectSpeed: true
hide_from_recent_apps: false
trafficSniffing: 1
rulesProvider: 0
rules_geosite_url: https://github.com/SagerNet/sing-geosite/releases/latest/download/geosite.db
rules_geoip_url: https://github.com/SagerNet/sing-geoip/releases/latest/download/geoip.db
remoteDns: https://cloudflare-dns.com/dns-query
domain_strategy_for_remote: auto
directDns: local
domain_strategy_for_direct: auto
domain_strategy_for_server: auto
enableDnsRouting: true
appendHttpProxy: false
allowAccess: false
connectionTestURL: https://www.gstatic.com/generate_204
networkChangeResetConnections: true
wakeResetConnections: false
appTLSVersion: 1.2
fab_style: 1
showGroupInNotification: true
confirm_profile_delete: true
bypassMode: false
enableClashAPI: true
allowInsecureOnRequest: true
globalAllowInsecure: true
nightTheme: 0
serviceMode: vpn
meteredNetwork: false
alwaysShowAddress: false
resolveDestination: false
ipv6Mode: 1
proxyApps: true
enableFakeDns: false
profileTrafficStatistics: true
showBottomBar: true
acquireWakeLock: true
logLevel: 1
hide_preview_dialog: true
last_app_theme: 10
appTheme: 22
dynamic_theme_switch: true
profileId: 10
isAutoConnect: false
tunImplementation: 0
speedInterval: 500
individual: [REDACTED_APP_LIST]
bypassLan: false
bypassLanInCore: false
profileCurrent: 10
profileGroup: 2

Logcat:

--------- beginning of main
11-02 15:02:27.781 8166 8166 E uwu.mb4a: Not starting debugger since process cannot load the jdwp agent.
11-02 15:02:27.841 8166 8166 D CompatibilityChangeReporter: Compat change id reported: 171979766; UID 10512; state: ENABLED
... (Logcat entries) ...
11-02 15:02:45.895 8166 8166 E ActivityInjector: get life cycle exception
11-02 15:02:45.895 8166 8166 E ActivityInjector: java.lang.ClassCastException: android.os.BinderProxy cannot be cast to android.app.servertransaction.ClientTransaction
11-02 15:02:45.895 8166 8166 E ActivityInjector: at android.app.ActivityInjector.checkAccessControl(ActivityInjector.java:27)
11-02 15:02:45.895 8166 8166 E ActivityInjector: at android.app.ActivityImpl.onResume(ActivityImpl.java:72)
11-02 15:02:45.895 8166 8166 E ActivityInjector: at android.app.Activity.onResume(Activity.java:2040)
11-02 15:02:45.895 8166 8166 E ActivityInjector: at androidx.fragment.app.FragmentActivity.onResume(SourceFile:6)
11-02 15:02:45.895 8166 8166 E ActivityInjector: at io.nekohasekai.sagernet.ui.MainActivity.onResume(SourceFile:1)
... (Stack trace repeats) ...
11-02 15:04:05.481 8166 8166 W System.err: android.os.DeadObjectException
11-02 15:04:05.481 8166 8166 W System.err: at android.os.BinderProxy.transactNative(Native Method)
11-02 15:04:05.481 8166 8166 W System.err: at android.os.BinderProxy.transact(BinderProxy.java:624)
11-02 15:04:05.481 8166 8166 W System.err: at io.nekohasekai.sagernet.aidl.ISagerNetService$Stub$Proxy.registerCallback(SourceFile:24)
11-02 15:04:05.481 8166 8166 W System.err: at io.nekohasekai.sagernet.bg.SagerConnection.onServiceConnected(SourceFile:28)
11-02 15:04:05.481 8166 8166 W System.err: at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:2114)
11-02 15:04:05.481 8166 8166 W System.err: at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:2147)
11-02 15:04:05.481 8166 8166 W System.err: at android.os.Handler.handleCallback(Handler.java:938)
11-02 15:04:05.481 8166 8166 W System.err: at android.os.Handler.dispatchMessage(Handler.java:99)
11-02 15:04:05.481 8166 8166 W System.err: at android.os.Looper.loopOnce(Looper.java:210)
11-02 15:04:05.481 8166 8166 W System.err: at android.os.Looper.loop(Looper.java:299)
11-02 15:04:05.481 8166 8166 W System.err: at android.app.ActivityThread.main(ActivityThread.java:8307)
11-02 15:04:05.481 8166 8166 W System.err: at java.lang.reflect.Method.invoke(Native Method)
11-02 15:04:05.481 8166 8166 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:577)
11-02 15:04:05.481 8166 8166 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1073)
... (App restarts) ...
11-02 15:07:26.963 9157 9157 D DecorView[]: getWindowModeFromSystem windowmode is 1
11-02 15:07:26.966 9157 9157 D AndroidRuntime: Shutting down VM
--------- beginning of crash
11-02 15:07:26.966 9157 9157 E AndroidRuntime: FATAL EXCEPTION: main
11-02 15:07:26.966 9157 9157 E AndroidRuntime: Process: uwu.mb4a, PID: 9157
11-02 15:07:26.966 9157 9157 E AndroidRuntime: java.lang.NoSuchMethodError: No virtual method getParcelableExtra(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; in class Landroid/content/Intent; or its super classes (declaration of 'android.content.Intent' appears in /system/framework/framework.jar)
11-02 15:07:26.966 9157 9157 E AndroidRuntime: at androidx.activity.ComponentDialog$$ExternalSyntheticApiModelOutline0.m(SourceFile:8)
11-02 15:07:26.966 9157 9157 E AndroidRuntime: at io.nekohasekai.sagernet.ui.ProfileSelectActivity.onCreate(SourceFile:8)
11-02 15:07:26.966 9157 9157 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8181)
11-02 15:07:26.966 9157 9157 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8147)
11-02 15:07:26.966 9157 9157 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329)
11-02 15:07:26.966 9157 9157 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3755)
11-02 15:07:26.966 9157 9157 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3949)
11-02 15:07:26.966 9157 9157 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:106)
11-02 15:07:26.966 9157 9157 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
11-02 15:07:26.966 9157 9157 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
11-02 15:07:26.966 9157 9157 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2327)
11-02 15:07:26.966 9157 9157 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
11-02 15:07:26.966 9157 9157 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:210)
11-02 15:07:26.966 9157 9157 E AndroidRuntime: at android.os.Looper.loop(Looper.java:299)
11-02 15:07:26.966 9157 9157 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:8307)
11-02 15:07:26.966 9157 9157 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
11-02 15:07:26.966 9157 9157 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:577)
11-02 15:07:26.966 9157 9157 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1073)

... (sing-box config) ...
"dns": {
"final": "dns-remote",
"independent_cache": true,
"rules": [
{
"domain": [
"[REDACTED_DOMAIN]",
"cloudflare-dns.com"
],
"server": "dns-direct"
},
{
"outbound": [
"any"
],
"server": "dns-direct"
...
"outbounds": [
{
"domain_strategy": "prefer_ipv4",
"flow": "xtls-rprx-vision",
"packet_encoding": "xudp",
"server": "[REDACTED_SERVER_ADDRESS]",
"server_port": [REDACTED_PORT],
"tls": {
"enabled": true,
"insecure": true,
"reality": {
"enabled": true,
"public_key": "[REDACTED_PUBLIC_KEY]",
"short_id": "[REDACTED_SHORT_ID]"
},
"server_name": "www.apple.com.cn",
"utls": {
"enabled": true,
"fingerprint": "chrome"
}
},
"uuid": "[REDACTED_UUID]",
"tag": "proxy",
"type": "vless"
},
...
2025/11/02 07:06:47 [Debug] [VpnService] Add allow: [REDACTED_APP_LIST]
...
2025/11/02 07:07:26 [Error] [CrashHandler] Thread[main,5,main]
2025/11/02 07:07:26 [Error] [CrashHandler] java.lang.NoSuchMethodError: No virtual method getParcelableExtra(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; in class Landroid/content/Intent; or its super classes (declaration of 'android.content.Intent' appears in /system/framework/framework.jar)
at androidx.activity.ComponentDialog$$ExternalSyntheticApiModelOutline0.m(SourceFile:8)
at io.nekohasekai.sagernet.ui.ProfileSelectActivity.onCreate(SourceFile:8)
at android.app.Activity.performCreate(Activity.java:8181)
at android.app.Activity.performCreate(Activity.java:8147)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3755)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3949)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:106)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2327)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:210)
at android.os.Looper.loop(Looper.java:299)
at android.app.ActivityThread.main(ActivityThread.java:8307)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:577)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1073)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions