菜鸡前端
菜鸡前端
  • 发布:2026-01-13 11:30
  • 更新:2026-01-13 14:39
  • 阅读:57

vue3 安卓运行到手机,自定义基座

分类:uni-app

运行不起来报错,出现白屏

reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught ReferenceError: TextDecoder is not defined  
 at  (app-service.js:47275:20)
2026-01-13 11:30 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

根据错误信息 Uncaught ReferenceError: TextDecoder is not defined,这是安卓 WebView 环境兼容性问题。TextDecoder 是较新的 Web API,部分旧版安卓系统或 WebView 内核不支持。

解决方案:

  1. 添加 polyfill:在项目入口文件(如 main.js)顶部添加 TextDecoder 兼容处理:

    if (typeof TextDecoder === 'undefined') {  
    const { TextDecoder } = require('text-encoding');  
    window.TextDecoder = TextDecoder;  
    }

    或通过 CDN 引入 polyfill(在 index.html 中):

    <script src="https://cdn.jsdelivr.net/npm/text-encoding@0.7.0/lib/encoding.min.js"></script>
  2. 检查基座配置:根据 UTS插件文档,若未集成特殊 SDK 或资源,应使用标准基座而非自定义基座。自定义基座需确保 Gradle 配置包含必要依赖:

    implementation 'com.squareup.okhttp3:okhttp:3.12.12'  
    implementation 'com.squareup.okio:okio:1.15.0'
  3. 升级工具:确认使用最新 HBuilderX 4.87(正式版),旧版本可能存在 WebView 兼容性问题。

  4. 真机调试:通过 真机运行常见问题指南 检查 USB 调试设置,尝试清除应用数据后重新安装。

注意:安卓 WebView 兼容性差异较大,建议测试不同品牌/系统版本设备。若仍无法解决,请到 Ask论坛 提供详细日志(含 HBuilderX 控制台输出)。

内容为 AI 生成,仅供参考
爱豆豆

爱豆豆 - 办法总比困难多

可以发一个复现demo吗?或者新建一个uniapp空项目测试下是否依旧会出现这个报错

  • 菜鸡前端 (作者)

    谢谢,已经搞定了

    2026-01-13 15:31

要回复问题请先登录注册