关键日志(logcat,多次复现):avc: denied { setattr } for name="libweexjsb.so" dev="mmcblk0p44" scontext=u:r:untrusted_app tcontext=u:object_r:apk_data_file:s0 tclass=file permissive=0
WeexCore: jsengine#weexcore fork child succes!
WeexCore: IPCException server spinWaitPeer timeout
WeexCore: JSFramwork init start sender is null
weex: [WXBridgeManager] invokeInitFramework ExecuteJavaScript fail
weex: framework.js uninitialized
- 发布:2026-08-20 14:37
- 更新:49 分钟前
- 阅读:54
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows 11, version 25H2
HBuilderX类型: 正式
HBuilderX版本号: 5.24
手机系统: Android
手机系统版本号: Android 10
手机厂商: 华为
手机机型: pos机A8s
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
关键日志(logcat,多次复现):avc: denied { setattr } for name="libweexjsb.so" dev="mmcblk0p44" scontext=u:r:untrusted_app tcontext=u:object_r:apk_data_file:s0 tclass=file permissive=0
WeexCore: jsengine#weexcore fork child succes!
WeexCore: IPCException server spinWaitPeer timeout
WeexCore: JSFramwork init start sender is null
weex: [WXBridgeManager] invokeInitFramework ExecuteJavaScript fail
weex: framework.js uninitialized
关键日志(logcat,多次复现):avc: denied { setattr } for name="libweexjsb.so" dev="mmcblk0p44" scontext=u:r:untrusted_app tcontext=u:object_r:apk_data_file:s0 tclass=file permissive=0
WeexCore: jsengine#weexcore fork child succes!
WeexCore: IPCException server spinWaitPeer timeout
WeexCore: JSFramwork init start sender is null
weex: [WXBridgeManager] invokeInitFramework ExecuteJavaScript fail
weex: framework.js uninitialized
实际结果:
关键日志(logcat,多次复现):avc: denied { setattr } for name="libweexjsb.so" dev="mmcblk0p44" scontext=u:r:untrusted_app tcontext=u:object_r:apk_data_file:s0 tclass=file permissive=0
WeexCore: jsengine#weexcore fork child succes!
WeexCore: IPCException server spinWaitPeer timeout
WeexCore: JSFramwork init start sender is null
weex: [WXBridgeManager] invokeInitFramework ExecuteJavaScript fail
weex: framework.js uninitialized
关键日志(logcat,多次复现):avc: denied { setattr } for name="libweexjsb.so" dev="mmcblk0p44" scontext=u:r:untrusted_app tcontext=u:object_r:apk_data_file:s0 tclass=file permissive=0
WeexCore: jsengine#weexcore fork child succes!
WeexCore: IPCException server spinWaitPeer timeout
WeexCore: JSFramwork init start sender is null
weex: [WXBridgeManager] invokeInitFramework ExecuteJavaScript fail
weex: framework.js uninitialized
bug描述:
云打包 APK 安装到联迪 A8s(Android 10,盛付通定制 ROM)后白屏,仅显示原生 tabBar,所有页面空白。同一 APK 在普通安卓手机和旧版 POS 机上正常。avc: denied { setattr } for name="libweexjsb.so" dev="mmcblk0p44" scontext=u:r:untrusted_app tcontext=u:object_r:apk_data_file:s0 tclass=file permissive=0
WeexCore: jsengine#weexcore fork child succes!
WeexCore: IPCException server spinWaitPeer timeout
WeexCore: JSFramwork init start sender is null
weex: [WXBridgeManager] invokeInitFramework ExecuteJavaScript fail
weex: framework.js uninitialized
weex 多进程引擎将 libweexjsb.so 解压到应用 cache 目录后需 chmod(setattr),被该 ROM 的 SELinux 策略拒绝,子进程初始化失败,父进程握手超时,整个 JS 运行时不可用。 诉求:1)提供 weex 单进程模式开关(日志中 getUseSingleProcess 显示该开关存在);或 2)将 libweexjsb.so 直接放入 APK lib 目录加载,避免解压到 cache。 同类未决问题:ask.dcloud.net.cn/question/193822(2024 年,同型号设备,Wap2App 同样失败)请提供 Android 离线 SDK 2.9.8 下载链接,用于 v2 编译器离线打包验证此问题
2 个回复
Ask小助手
感谢您提交的 Bug 反馈。从 DCloud 官方视角的评审与分析如下:
一、 Bug 反馈内容完整性评审
avc: denied和IPCException等关键报错,并推断出是 SELinux 策略拒绝了libweexjsb.so的chmod(setattr)操作,导致子进程初始化失败、父进程握手超时。诉求明确,还关联了同型号设备的未决问题,逻辑链条完整,官方人员能够直接看懂并定位方向。二、 Bug 是否成立及分析依据
根据您提供的日志,该 Bug 现象在知识库中已有相似记录。在 ask 社区知识库中,存在与您反馈高度一致的日志特征:
avc: denied { execute_no_trans } for path=".../cache/cache/weex/libs/libweexjsb.so",以及IPCException server spinWaitPeer timeout和JSFramwork init start sender is null(详见 DCloud问答_103768)。这印证了您的分析:在部分定制 ROM 或特定 Android 环境下,系统的 SELinux 策略会拒绝存放在应用 cache 目录下的动态库(so 文件)执行权限变更或加载操作。由于 uni-app(js 引擎版)的 Weex 多进程引擎需要将
libweexjsb.so解压到 cache 目录并赋予执行权限,一旦被 SELinux 拦截,多进程通信就会断开,导致 JS 运行时不可用,从而引发白屏。关于您的诉求与替代方案:
getUseSingleProcess确实存在。在 uni-app 的离线打包配置或部分底层 SDK 中,存在切换为单进程模式的机制。单进程模式下,JS 引擎不需要通过 fork 子进程和跨进程通信来加载 so 文件,从而可以绕过严格的 SELinux 多进程文件权限拦截。但在 uni-app 云打包/标准项目中,暂未在知识库中找到直接面向用户开放配置该开关的manifest.json节点说明。总结:
该 Bug 反馈成立,分析依据充分。您的诉求(提供单进程开关或调整 so 文件加载路径)是从根本上解决定制 ROM SELinux 限制的有效方向。建议您持续关注官方对该 Issue 的处理进度,若官方需要进一步排查,可配合提供最简复现工程。
1***@qq.com (作者)
请提供 Android 离线 SDK 2.9.8 下载链接,用于 v2 编译器离线打包验证此问题
要回复问题请先登录或注册
公告
更多>相关问题