You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chromium Android正式构建搜索崩溃:缺失libcrashpad_handler_trampoline.so

构建Android Chromium正式版时缺失libcrashpad_handler_trampoline.so导致崩溃的解决方案

问题背景

构建Android版Chromium,遵循官方指南生成APK,所用GN参数如下。随后通过Android Studio专属指南生成包装器项目,提取Java、XML、SO等资源后直接构建,App可正常启动,但执行任何URL搜索(包括chrome://version这类内置URL)时崩溃,核心报错为找不到libcrashpad_handler_trampoline.so。debug构建目录中存在该文件,但正式构建(is_debug = false)时缺失。

所用GN参数

target_os = "android"
target_cpu = "arm64"
android_channel = "stable"
is_debug = false
is_official_build = true
is_component_build = false
is_clang = true
symbol_level = 0
blink_symbol_level=0
use_unofficial_version_number = false
v8_use_external_startup_data = true
icu_use_data_file = false
ffmpeg_branding = "Chrome"
proprietary_codecs = true
exclude_unwind_tables = true
chrome_pgo_phase = 0

崩溃报错信息

error: unable to open file "/data/app/~~VZ6JSoritWLt73RxWsu5yg==/org.chromium.chrome-fCO_LyriifFjdrNCMbQC_A==/base.apk!/lib/arm64-v8a/libcrashpad_handler_trampoline.so"

崩溃堆栈信息

DEBUG    pid-24896    A  Build fingerprint: 'samsung/r8qxxx/r8q:13/TP1A.220624.014/G781BXXS9HXA4:user/release-keys'
DEBUG    pid-24896    A  Revision: '6'
DEBUG    pid-24896    A  ABI: 'arm64'
DEBUG    pid-24896    A  Processor: '7'
DEBUG    pid-24896    A  Timestamp: 2024-03-07 16:39:23.593326054+0530
DEBUG    pid-24896    A  Process uptime: 21s
DEBUG    pid-24896    A  Cmdline: org.chromium.chrome
DEBUG    pid-24896    A  pid: 24573, tid: 24573, name: chromium.chrome  >>> org.chromium.chrome <<<
DEBUG    pid-24896    A  uid: 10959
DEBUG    pid-24896    A  signal 5 (SIGTRAP), code 1 (TRAP_BRKPT), fault addr 0x0000007d505f181c
DEBUG    pid-24896    A      x0  0000000000000001  x1  b400007ddf922460  x2  0000000000000001  x3  0000000000000063
DEBUG    pid-24896    A      x4  0000000000000021  x5  0000000000000000  x6  0000007e89ebf000  x7  0000000000ab3cd4
DEBUG    pid-24896    A      x8  99f03dcd87b4b313  x9  99f03dcd87b4b313  x10 000000000000007b  x11 0101010101010101
DEBUG    pid-24896    A      x12 0000007ff06eb320  x13 0000000000000071  x14 0000000000000000  x15 00005330cb2a225e
DEBUG    pid-24896    A      x16 0000000000000001  x17 0000007e77d9f818  x18 0000007e88fda000  x19 0000000000000002
DEBUG    pid-24896    A      x20 000000000000001f  x21 0000007d4c9643d5  x22 0000007d4c7d17e4  x23 0000000000000000
DEBUG    pid-24896    A      x24 0000007ff06ecba8  x25 0000000000000200  x26 0000007e88ce2000  x27 0000007d54fc9000
DEBUG    pid-24896    A      x28 0000000000000013  x29 0000007ff06ecdb0
DEBUG    pid-24896    A      lr  0000007d505f17d4  sp  0000007ff06ecac0  pc  0000007d505f181c  pst 0000000060001000
DEBUG    pid-24896    A  backtrace:
DEBUG    pid-24896    A        #00 pc 00000000047df81c  /data/app/~~Xdn1Bp8tkaJR4jaYjy7I0Q==/org.chromium.chrome-b6yTYWCy9lrtxZHzmCnVIQ==/base.apk!libchrome.so (BuildId: 598f31426c476ca7bc56f006306bc87705028c2b)

解决方案

  • 显式启用Crashpad:在GN参数中添加use_crashpad = true和enable_crash_reporter = true。正式构建中Crashpad默认启用,但自定义参数组合可能导致构建系统排除依赖库,显式声明可确保libcrashpad_handler_trampoline.so被编译并打包。
  • 检查Android Studio打包配置:确认包装器项目的build.gradle中,sourceSets.main.jniLibs.srcDirs指向Chromium构建目录下的out/[build-name]/lib/arm64-v8a,确保所有SO文件被完整引入,避免手动提取时遗漏。
  • 验证构建产物完整性:用unzip命令解压Chromium官方生成的APK,检查lib/arm64-v8a/目录下是否存在目标SO文件,确认后再同步到Android Studio项目,避免资源丢失。
  • 调整符号表级别:当前symbol_level = 0会完全移除符号表,可能触发构建系统的激进优化导致库被误删。可尝试将symbol_level改为1(保留最小符号表)验证问题是否解决;若必须保持symbol_level=0,需显式将crashpad_handler_trampoline加入强制链接列表。

内容的提问来源于stack exchange,提问作者nil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 06:24:55