用户2768676
用户2768676
  • 发布:39 分钟前
  • 更新:39 分钟前
  • 阅读:39

【报Bug】离线打包白屏

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11 专业版 10.0.26300 (Build 26300)

HBuilderX类型: 正式

HBuilderX版本号: 5.34

手机系统: Android

手机系统版本号: Android 11

手机厂商: 小米

手机机型: Redmi Note 8 Pro

页面类型: vue

vue版本: vue3

打包方式: 离线

项目创建方式: HBuilderX

操作步骤:
  1. 使用 Android 离线 SDK 5.34.82692_20261030 自带的 HBuilder-HelloUniApp 工程
  2. 把 uni-app 5.34 导出的 App 资源放进 app/src/main/assets/apps/UNI14EA0DD/www
  3. assets/data/dcloud_control.xml 配置 appid=UNI14EA0DD、appver=1.0.0
  4. AndroidManifest.xml 的 application 节点配置 meta-data:name=dcloud_appkey,value=663210a2763d639b3b7b5a9203f53b79
  5. build.gradle 设置 applicationId 为 com.lovebook.chat,签名用 SDK 自带 test.jks
  6. gradlew assembleDebug,adb install 后启动

预期结果:

进入 App 首页,uni-app 页面正常渲染

实际结果:

启动后白屏,logcat:

reportJSException >>>> instanceId:1, exception function:createInstanceContext, exception:Uncaught TypeError: no access  
onJSException -9700  
commitCriticalExceptionRT :WX_RENDER_ERR_JS_CREATE_INSTANCE_CONTEXTexceptionwhite screen cause create instanceContext failed  
  at n (app-service.js:13:36143)  
  at  (app-service.js:13:36218)  
  at  (app-service.js:197:248662)  

补充:换成 SDK 自带示例资源后同样报该错误;去掉 appkey 则先报「未配置apikey 或配置错误」。

bug描述:

问题:Android 离线打包启动白屏,JS 上下文创建失败,报 Uncaught TypeError: no access。

环境

  • HBuilderX 5.34.2026102909
  • Android 离线 SDK Android-SDK@5.34.82692_20261030
  • App 资源由 uni-app 5.34(vue3)npm run build:app 导出
  • 工程:SDK 自带 HBuilder-HelloUniApp(未改动工程结构)
  • Gradle 8.11.1 / JDK 17 / compileSdk 35 / targetSdk 33 / minSdk 21
  • 手机:Redmi Note 8 Pro,Android 11(API 30),MIUI 12.5

配置

  • dcloud_control.xml:<app appid="UNI14EA0DD" appver="1.0.0"/>
  • AndroidManifest.xml:<meta-data android:name="dcloud_appkey" android:value="663210a2763d639b3b7b5a9203f53b79" />
  • 包名 com.lovebook.chat
  • 签名用 SDK 自带 test.jks(alias key0)
  • SHA1 B6:BA:28:25:A2:68:43:01:34:B6:70:0C:B9:F1:DA:FF:DF:B5:B6:20
  • SHA256 60:3A:4C:5D:92:29:ED:6E:17:5E:2F:DD:62:4D:2F:D6:1C:13:F9:BA:8C:27:7B:ED:12:D0:3B:25:3D:DB:87:31
  • AppKey 663210a2763d639b3b7b5a9203f53b79(在 dev.dcloud.net.cn 各平台信息 生成)

已排查

  1. 换成 SDK 自带示例 www(只改 appid),同样 no access,与业务代码无关
  2. dcloud_control.xml 的 appid、www/manifest.json 的 id、assets/apps 目录名三处一致
  3. 反编译 APK 确认 dcloud_appkey 已写入且值正确
  4. 去掉 appkey 会先报「未配置apikey 或配置错误」,加上后变 no access,说明 appkey 被读取但校验未通过
  5. debug / release 均如此;pm clear 清数据后仍如此
  6. 后台的 SHA1/SHA256 与 APK 实际签名一致(apksigner verify --print-certs)

想问:no access 具体校验哪一项?还需要提供 APK 或工程吗?

39 分钟前 负责人:无 分享
已邀请:

要回复问题请先登录或注册