webview的一个崩溃

复制代码
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'Infinix/X678B-RU/Infinix-X678B:14/UP1A.231005.007/250415V853:user/release-keys'
Revision: '0'
ABI: 'arm64'
Timestamp: 2025-11-19 14:22:27.040470407+0300
Process uptime: 177s
Cmdline: 
pid: 14686, tid: 14686, name: org.yeshen.app  >>>  <<<
uid: 10460
tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0x00000076d57a7ac4
    x0  0000007a0efb6000  x1  0000007000018660  x2  00000076d76b1754  x3  00000070000782c3
    x4  0000007000004070  x5  0000007000028e70  x6  000000000000003d  x7  0000007fe03e6a7f
    x8  0000000000000001  x9  0000007a23c9a040  x10 0000000000000001  x11 0000000000000001
    x12 0000000000000000  x13 0000000000000001  x14 0000000000000000  x15 0000000100003e00
    x16 00000076dd64d7e8  x17 0000007a0b4e3b60  x18 0000007a2497c000  x19 00000076dd7e2698
    x20 0000007000018660  x21 00000076dd7e2000  x22 00000076dd7e1628  x23 00000076dd793000
    x24 00000076dd7e2000  x25 00000076dd683000  x26 00000076d33f89db  x27 00000076dd7dd000
    x28 0000007fe03e6f50  x29 0000007fe03e6bb0
    lr  00000076d4dd9124  sp  0000007fe03e6b60  pc  00000076d57a7ac4  pst 0000000060001000
74 total frames
backtrace:
      #00 pc 0000000002b96ac4  /data/app/~~5BLokFKQjJSKLFkPYUSksw==/com.google.android.trichromelibrary_739012233-f8vUUcHjqycaXY2KWlDcRg==/base.apk!libmonochrome_64.so (offset 0x8dc000) (BuildId: fe77ae077f3105cd8edc7dc00bd123215fff00ef)
      #01 pc 00000000021c8120  /data/app/~~5BLokFKQjJSKLFkPYUSksw==/com.google.android.trichromelibrary_739012233-f8vUUcHjqycaXY2KWlDcRg==/base.apk!libmonochrome_64.so (offset 0x8dc000) (BuildId: fe77ae077f3105cd8edc7dc00bd123215fff00ef)
      #02 pc 0000000005965710  /data/app/~~5BLokFKQjJSKLFkPYUSksw==/com.google.android.trichromelibrary_739012233-f8vUUcHjqycaXY2KWlDcRg==/base.apk!libmonochrome_64.so (offset 0x8dc000) (BuildId: fe77ae077f3105cd8edc7dc00bd123215fff00ef)
      #03 pc 0000000005960424  /data/app/~~5BLokFKQjJSKLFkPYUSksw==/com.google.android.trichromelibrary_739012233-f8vUUcHjqycaXY2KWlDcRg==/base.apk!libmonochrome_64.so (offset 0x8dc000) (BuildId: fe77ae077f3105cd8edc7dc00bd123215fff00ef)
      #04 pc 000000000596018c  /data/app/~~5BLokFKQjJSKLFkPYUSksw==/com.google.android.trichromelibrary_739012233-f8vUUcHjqycaXY2KWlDcRg==/base.apk!libmonochrome_64.so (offset 0x8dc000) (BuildId: fe77ae077f3105cd8edc7dc00bd123215fff00ef)
      #05 pc 0000000000f508e0  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+112)
      #06 pc 0000000000689408  /apex/com.android.art/lib64/libart.so (nterp_helper+152) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #07 pc 00000000001df12e  /data/app/~~0ckjQNfcye8hR4686-l5EA==/com.google.android.webview-dSTbcbEerDn5M4UwtGXJ5g==/base.apk (org.chromium.content.browser.BrowserStartupControllerImpl.a+10)
      #08 pc 000000000068a2c4  /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #09 pc 00000000001df686  /data/app/~~0ckjQNfcye8hR4686-l5EA==/com.google.android.webview-dSTbcbEerDn5M4UwtGXJ5g==/base.apk (org.chromium.content.browser.BrowserStartupControllerImpl.i+114)
      #10 pc 000000000068a2c4  /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #11 pc 00000000001c090e  /data/app/~~0ckjQNfcye8hR4686-l5EA==/com.google.android.webview-dSTbcbEerDn5M4UwtGXJ5g==/base.apk (org.chromium.android_webview.AwBrowserProcess.b+66)
      #12 pc 00000000006893a4  /apex/com.android.art/lib64/libart.so (nterp_helper+52) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #13 pc 0000000000191ef6  /data/app/~~0ckjQNfcye8hR4686-l5EA==/com.google.android.webview-dSTbcbEerDn5M4UwtGXJ5g==/base.apk (WV.o13.run+130)
      #14 pc 000000000068b0e4  /apex/com.android.art/lib64/libart.so (nterp_helper+7540) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #15 pc 0000000000192282  /data/app/~~0ckjQNfcye8hR4686-l5EA==/com.google.android.webview-dSTbcbEerDn5M4UwtGXJ5g==/base.apk (WV.v13.run+162)
      #16 pc 000000000068b0e4  /apex/com.android.art/lib64/libart.so (nterp_helper+7540) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #17 pc 00000000001923c8  /data/app/~~0ckjQNfcye8hR4686-l5EA==/com.google.android.webview-dSTbcbEerDn5M4UwtGXJ5g==/base.apk (WV.x13.b+12)
      #18 pc 000000000068a2c4  /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #19 pc 00000000001ac15a  /data/app/~~0ckjQNfcye8hR4686-l5EA==/com.google.android.webview-dSTbcbEerDn5M4UwtGXJ5g==/base.apk (com.android.webview.chromium.n0.i+234)
      #20 pc 000000000068a2c4  /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #21 pc 00000000001ab70a  /data/app/~~0ckjQNfcye8hR4686-l5EA==/com.google.android.webview-dSTbcbEerDn5M4UwtGXJ5g==/base.apk (com.android.webview.chromium.n0.m+126)
      #22 pc 000000000068a2c4  /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #23 pc 00000000001ac2b6  /data/app/~~0ckjQNfcye8hR4686-l5EA==/com.google.android.webview-dSTbcbEerDn5M4UwtGXJ5g==/base.apk (com.android.webview.chromium.n0.l+2)
      #24 pc 000000000068a2c4  /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #25 pc 00000000001b18c0  /data/app/~~0ckjQNfcye8hR4686-l5EA==/com.google.android.webview-dSTbcbEerDn5M4UwtGXJ5g==/base.apk (com.android.webview.chromium.WebViewChromium.init+232)
      #26 pc 0000000000cfb7f0  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.webkit.WebView.<init>+1024)
      #27 pc 0000000000cfb374  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.webkit.WebView.<init>+68)
      #28 pc 000000000068a320  /apex/com.android.art/lib64/libart.so (nterp_helper+4016) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #29 pc 00000000004802f4  /data/app/~~WStMa1kFKiUsNpoBVe-9DQ==/-5MpLYCMUPKXwYDdDr21VZQ==/base.apk (com.gzsll.jsbridge.WVJBWebView.<init>+0)
      #30 pc 0000000000317194  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #31 pc 000000000062437c  /apex/com.android.art/lib64/libart.so (art::Constructor_newInstance0(_JNIEnv*, _jobject*, _jobjectArray*) (.__uniq.114100828369361150012403296395805223021)+724) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #32 pc 0000000000f4ed14  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+100)
      #33 pc 0000000000b1f690  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.view.LayoutInflater.createView+2656)
      #34 pc 0000000000b20464  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.view.LayoutInflater.createViewFromTag+1316)
      #35 pc 0000000000b216fc  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.view.LayoutInflater.rInflate+732)
      #36 pc 0000000000b21760  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.view.LayoutInflater.rInflate+832)
      #37 pc 0000000000b20dd8  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.view.LayoutInflater.inflate+1032)
      #38 pc 0000000000b20944  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.view.LayoutInflater.inflate+212)
      #39 pc 0000000000317194  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #40 pc 000000000066a984  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+1580) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #41 pc 00000000006717fc  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+868) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #42 pc 00000000002ff738  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #43 pc 0000000000237b64  /data/app/~~WStMa1kFKiUsNpoBVe-9DQ==/-5MpLYCMUPKXwYDdDr21VZQ==/base.apk (T5.s.b+0)
      #44 pc 0000000000300b2c  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.4837409187647361565)+332) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #45 pc 0000000000300360  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+888) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #46 pc 000000000032e638  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #47 pc 0000000000689408  /apex/com.android.art/lib64/libart.so (nterp_helper+152) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #48 pc 00000000004a8ddc  /data/app/~~WStMa1kFKiUsNpoBVe-9DQ==/-5MpLYCMUPKXwYDdDr21VZQ==/base.apk (.web.WebViewActivity.onCreate+92)
      #49 pc 00000000008f883c  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.Activity.performCreate+924)
      #50 pc 0000000000653290  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.Instrumentation.callActivityOnCreate+80)
      #51 pc 000000000073bcc4  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread.performLaunchActivity+6740)
      #52 pc 0000000000745668  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread.handleLaunchActivity+1336)
      #53 pc 00000000009070a4  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.servertransaction.LaunchActivityItem.execute+356)
      #54 pc 000000000068775c  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.servertransaction.TransactionExecutor.executeCallbacks+572)
      #55 pc 0000000000687498  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.servertransaction.TransactionExecutor.execute+728)
      #56 pc 00000000007218bc  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread$H.handleMessage+1916)
      #57 pc 00000000009adb88  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Handler.dispatchMessage+152)
      #58 pc 00000000009b1750  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loopOnce+1008)
      #59 pc 00000000009b12a8  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loop+936)
      #60 pc 000000000073a074  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread.main+2100)
      #61 pc 0000000000317460  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #62 pc 0000000000311508  /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+544) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #63 pc 00000000005c82c8  /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*) (.__uniq.165753521025965369065708152063621506277)+32) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #64 pc 0000000000f4ee24  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+116)
      #65 pc 0000000000b90b74  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+116)
      #66 pc 0000000000b9bf30  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.ZygoteInit.main+3312)
      #67 pc 0000000000317460  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #68 pc 0000000000316100  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+800) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #69 pc 0000000000639868  /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+156) (BuildId: eb4ec0f1d1c7267591d83fa87cb36390)
      #70 pc 00000000000deca8  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+104) (BuildId: 4af74d8dc75d2b94a998f393c7ba8d19)
      #71 pc 00000000000eae2c  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+940) (BuildId: 4af74d8dc75d2b94a998f393c7ba8d19)
      #72 pc 000000000000254c  /system/bin/app_process64 (main+1260) (BuildId: b8d2813b499be9f10b5755c6bdb63d8b)
      #73 pc 00000000000546e8  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+104) (BuildId: e2d9c5ba32145bb6e11e59494ee68593)

看起来是webview崩溃,下面是ai的解释...


这个崩溃日志表明设备上的 WebView 组件(libmonochrome_64.so)遇到了一个严重的原生层错误。以下是分析和解决方案:


崩溃原因分析

  1. SIGILL (Signal 4):

    • 表示处理器遇到了非法指令(ILL_ILLOPC)。
    • 常见原因:
      • 设备 CPU 不支持某些指令集(如 ARMv8.5 的 MT E 特性)。
      • 二进制文件与设备 CPU 架构不兼容。
      • 内存损坏或编译器优化问题。
  2. tagged_addr_ctrl: 0000000000000001:

    • 表明启用了 ARM 内存标签扩展(MTE)PR_TAGGED_ADDR_ENABLE)。
    • 关键问题 :您的设备(Infinix X678B 搭载联发科 Helio G25/G35)基于 ARMv8.0 架构,不支持 MTE 特性(MTE 需要 ARMv8.5+)。WebView 可能错误启用了此功能,导致非法指令。
  3. 设备兼容性:

    • Infinix X678B 使用 ARM Cortex-A53 核心(ARMv8-A),但 MTE 是 ARMv8.5 的特性。
    • WebView 更新(如 Chrome 111+)可能默认启用 MTE,在旧设备上触发崩溃。

解决方案

1. 更新系统组件
  • 更新 WebView :
    • 进入 Google Play → 搜索 "Android System WebView" → 更新到最新版本
    • 如果崩溃持续,尝试 卸载 WebView 更新 (回退到稳定版本):
      • 设置 → 应用 → 显示系统应用 → Android System WebView → 点击右上角 ⋮ → 卸载更新。
  • 更新操作系统 :
    • 检查系统更新(设置 → 系统更新),厂商可能已修复兼容性问题。
2. 禁用 MTE 特性
  • 添加启动参数 (需 root 权限):
    /data/local.prop 文件中添加:

    复制代码
    ro.arm64.memtag.appctl=0

    重启设备。这会全局禁用 MTE。

  • 通过 ADB 临时禁用 (每次重启需重新执行):

    bash 复制代码
    adb shell settings put global arm64_memtag_app_compat 0
3. 应用层规避
  • 捕获 WebView 崩溃 (在 App 代码中):

    java 复制代码
    webView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean onRenderProcessGone(WebView view, RenderProcessGoneDetail detail) {
            if (detail.didCrash()) {
                // 处理崩溃(如重新初始化 WebView)
                recreateWebView();
                return true; // 表示已处理
            }
            return false;
        }
    });
  • 降级 WebView 版本 :
    build.gradle 中强制使用旧版 WebView:

    gradle 复制代码
    dependencies {
        implementation 'androidx.webkit:webkit:1.5.0' // 避免较新版本
    }
4. 设备级修复
  • 清除 WebView 数据 :
    设置 → 应用 → Android System WebView → 存储 → 清除数据/缓存。
  • 更换 WebView 实现 :
    在开发者选项中启用 "独立 WebView 进程"(设置 → 开发者选项 → WebView 实现 → 选择其他渲染引擎)。
5. 联系厂商/Google
  • 如果问题普遍存在,反馈给设备厂商(Infinix)或提交 Chromium 漏洞报告:

预防措施

  • 测试旧设备兼容性:在 ARMv8.0 及以下设备上测试 WebView 新特性。

  • 动态检测 MTE 支持

    java 复制代码
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
        boolean isMTESupported = WebViewFeature
    }
    ``
相关推荐
2501_916008894 小时前
API接口调试全攻略 Fiddler抓包工具、HTTPS配置与代理设置实战指南
前端·ios·小程序·https·fiddler·uni-app·webview
2501_915921435 小时前
iOS 开发者工具推荐,构建从调试到性能优化的多维度生产力工具链(2025 深度工程向)
android·ios·性能优化·小程序·uni-app·iphone·webview
2501_9159184110 小时前
苹果上架 iOS 应用的工程实践,一次从零到上线的完整记录
android·ios·小程序·https·uni-app·iphone·webview
2501_9159184112 小时前
如何解析iOS崩溃日志:从获取到符号化分析
android·ios·小程序·https·uni-app·iphone·webview
2501_915909061 天前
iOS App 测试工具全景指南,构建从开发、性能到系统级调试的多工具协同测试体系
android·测试工具·ios·小程序·uni-app·iphone·webview
游戏开发爱好者82 天前
Fiddler抓包工具完整教程 HTTPHTTPS抓包、代理配置与API调试实战技巧(开发者进阶指南)
前端·测试工具·ios·小程序·fiddler·uni-app·webview
00后程序员张2 天前
iOS 性能优化的体系化方法论 从启动速度到渲染链路的多工具协同优化
android·ios·性能优化·小程序·uni-app·iphone·webview
游戏开发爱好者82 天前
iPhone重启日志深度解析与故障代码诊断
android·ios·小程序·https·uni-app·iphone·webview
2501_916008892 天前
手机抓包app大全:无需root的安卓抓包软件列表
android·ios·智能手机·小程序·uni-app·iphone·webview