未知
- 发布:2025-12-28 23:09
- 更新:2025-12-28 23:14
- 阅读:22
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 14.6
HBuilderX类型: 正式
HBuilderX版本号: 4.87
手机系统: Android
手机系统版本号: Android 16
手机厂商: Google Pixel
手机机型: Google Pixel 8a、Google Pixel 9 Pro XL、Samsung Galaxy A16 5G等
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
无用户崩溃
无用户崩溃
实际结果:
谷歌商店后台统计3%用户崩溃
谷歌商店后台统计3%用户崩溃
bug描述:
根据GooglePlay后台崩溃统计,用户崩溃率高达2.9%,且全部为Android 16
GooglePlay后台给出崩溃常见设备为Samsung Galaxy A16 5G、Google Pixel 9 Pro XL、Google Pixel 8a等
项目为WebView内嵌H5,除基础前端页面、部分translate动画外,使用了基于腾讯tcplayer的webrtc视频播放
90%以上报错为如下两个情况:
情况一:
VK_ERROR_DEVICE_LOST (RenderThread, 2 address info (1:411832422656:4096, 1:411832422656:4096), 2 vendor info (194:4310696642, 194:8605663938)): Exception type 0xc2: TRANSLATION_FAULT at level 2. VA: 0x. Access type 0x2: Read. Source id 0xf0: sc_0, Shader core 0 (tma1, Texture Cache AFBC 1). Group 0.
pid: 0, tid: 25735 >>> com.xxxx.xxxx <<<
backtrace:
#00 pc 0x0000000000076360 /apex/com.android.runtime/lib64/bionic/libc.so (abort+160)
#1 pc 0x00000000008fde60 /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+1004)
#2 pc 0x000000000001654c /apex/com.android.art/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_0::__invoke(char const*)+80)
#3 pc 0x000000000000bc64 /system/lib64/liblog.so (__android_log_assert+212)
#4 pc 0x00000000006fd0f4 /system/lib64/libhwui.so (android::uirenderer::renderthread::(anonymous namespace)::onVkDeviceFault(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::vector<VkDeviceFaultAddressInfoEXT, std::__1::allocator> const&, std::__1::vector<VkDeviceFaultVendorInfoEXT, std::__1::allocator> const&, std::__1::vector<std::byte, std::__1::allocatorstd::byte> const&) (.__uniq.192405051647925496281077346275335259674)+980)
#5 pc 0x00000000006fccbc /system/lib64/libhwui.so (android::uirenderer::renderthread::(anonymous namespace)::deviceLostProcRenderThread(void*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::vector<VkDeviceFaultAddressInfoEXT, std::__1::allocator> const&, std::__1::vector<VkDeviceFaultVendorInfoEXT, std::__1::allocator> const&, std::__1::vector<std::byte, std::__1::allocatorstd::byte> const&) (.__uniq.192405051647925496281077346275335259674)+76)
#6 pc 0x0000000000207f44 /system/lib64/libhwui.so (skgpu::InvokeDeviceLostCallback(skgpu::VulkanInterface const*, VkDevice_T*, void*, void ()(void, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::vector<VkDeviceFaultAddressInfoEXT, std::__1::allocator> const&, std::__1::vector<VkDeviceFaultVendorInfoEXT, std::__1::allocator> const&, std::__1::vector<std::byte, std::__1::allocatorstd::byte> const&), bool)+628)
#7 pc 0x0000000000207624 /system/lib64/libhwui.so (GrVkResourceProvider::checkCommandBuffers()+1732)
#8 pc 0x000000000031dec8 /system/lib64/libhwui.so (GrDirectContext::performDeferredCleanup(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l>>, GrPurgeResourceOptions)+104)
#9 pc 0x0000000000550044 /system/lib64/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+740)
#10 pc 0x0000000000019bcc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+236)
#11 pc 0x000000000001bd58 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24)
#12 pc 0x00000000000873e4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*) (.__uniq.67847048707805468364044055584648682506)+180)
#13 pc 0x0000000000079c64 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)
情况二:
VK_ERROR_DEVICE_LOST (RenderThread): No details: VK_EXT_device_fault not available/enabled.
pid: 0, tid: 2764 >>> com.xxxx.xxxx <<<
backtrace:
#00 pc 0x00000000000a7cc8 /apex/com.android.runtime/lib64/bionic/libc.so (abort+156)
#1 pc 0x00000000008a0f04 /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+476)
#2 pc 0x0000000000016188 /apex/com.android.art/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_0::__invoke(char const*)+80)
#3 pc 0x000000000000d254 /system/lib64/liblog.so (__android_log_assert+288)
#4 pc 0x000000000088a018 /system/lib64/libhwui.so (android::uirenderer::renderthread::(anonymous namespace)::onVkDeviceFault(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::vector<VkDeviceFaultAddressInfoEXT, std::__1::allocator> const&, std::__1::vector<VkDeviceFaultVendorInfoEXT, std::__1::allocator> const&, std::__1::vector<std::byte, std::__1::allocatorstd::byte> const&) (.__uniq.192405051647925496281077346275335259674)+1032)
#5 pc 0x0000000000889bb4 /system/lib64/libhwui.so (android::uirenderer::renderthread::(anonymous namespace)::deviceLostProcRenderThread(void*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::vector<VkDeviceFaultAddressInfoEXT, std::__1::allocator> const&, std::__1::vector<VkDeviceFaultVendorInfoEXT, std::__1::allocator> const&, std::__1::vector<std::byte, std::__1::allocatorstd::byte> const&) (.__uniq.192405051647925496281077346275335259674)+72)
#6 pc 0x00000000004037ec /system/lib64/libhwui.so (skgpu::InvokeDeviceLostCallback(skgpu::VulkanInterface const*, VkDevice_T*, void*, void ()(void, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::vector<VkDeviceFaultAddressInfoEXT, std::__1::allocator> const&, std::__1::vector<VkDeviceFaultVendorInfoEXT, std::__1::allocator> const&, std::__1::vector<std::byte, std::__1::allocatorstd::byte> const&), bool)+288)
#7 pc 0x0000000000402fec /system/lib64/libhwui.so (GrVkResourceProvider::checkCommandBuffers()+1852)
#8 pc 0x0000000000584550 /system/lib64/libhwui.so (GrDirectContext::performDeferredCleanup(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l>>, GrPurgeResourceOptions)+112)
#9 pc 0x000000000068e728 /system/lib64/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+728)
#10 pc 0x0000000000019060 /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+248)
#11 pc 0x000000000001b66c /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+20)
#12 pc 0x00000000000b78f4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+232)
#13 pc 0x00000000000aac5c /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
2 个回复
Ask小助手
该bug反馈整体较为完整,标题清晰描述了问题核心,BUG描述详细说明了崩溃率(2.9%)、设备型号(Samsung Galaxy A16 5G、Pixel系列)和技术栈(WebView内嵌H5+腾讯tcplayer webrtc),并提供了两种典型的backtrace日志。分类信息完整包含HBuilderX 4.87、Vue3、Android 16等关键版本信息。但复现步骤标记为"未知"是明显缺失,官方难以直接复现;缺少可运行的代码示例,虽有backtrace但无法验证具体触发条件。
经核查知识库,该问题成立且具有针对性:Android 16对Vulkan图形API进行了重大更新,而反馈中崩溃均源于
VK_ERROR_DEVICE_LOST,与系统级Vulkan变更直接相关。知识库显示近期版本(如4.83.2025101713-alpha)已多次更新Android平台渲染相关SDK,包括uni-app x Android平台修复和WebView组件优化。用户当前使用的HBuilderX 4.87非最新版,建议优先升级至4.83.2025101713-alpha或更高版本,该问题很可能已在后续Android渲染层修复中得到解决。若仍复现,需补充具体业务代码片段及复现路径以便深度排查。DCloud_heavensoft
可以打点对比验证下,在不使用腾讯的webrtc时,Android16的用户群里有没有崩溃,或者崩溃率是否低于合理值
E9C50FX (作者)
App核心功能,没法不用的
2025-12-28 23:17
要回复问题请先登录或注册
公告
更多>相关问题