- 使用 Android 离线 SDK 5.34.82692_20261030 自带的 HBuilder-HelloUniApp 工程
- 把 uni-app 5.34 导出的 App 资源放进 app/src/main/assets/apps/UNI14EA0DD/www
- assets/data/dcloud_control.xml 配置 appid=UNI14EA0DD、appver=1.0.0
- AndroidManifest.xml 的 application 节点配置 meta-data:name=dcloud_appkey,value=663210a2763d639b3b7b5a9203f53b79
- build.gradle 设置 applicationId 为 com.lovebook.chat,签名用 SDK 自带 test.jks
- gradlew assembleDebug,adb install 后启动
- 发布:39 分钟前
- 更新:39 分钟前
- 阅读:39
产品分类: 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
操作步骤:
预期结果:
进入 App 首页,uni-app 页面正常渲染
进入 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 或配置错误」。
启动后白屏,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 各平台信息 生成)
已排查
- 换成 SDK 自带示例 www(只改 appid),同样 no access,与业务代码无关
- dcloud_control.xml 的 appid、www/manifest.json 的 id、assets/apps 目录名三处一致
- 反编译 APK 确认 dcloud_appkey 已写入且值正确
- 去掉 appkey 会先报「未配置apikey 或配置错误」,加上后变 no access,说明 appkey 被读取但校验未通过
- debug / release 均如此;pm clear 清数据后仍如此
- 后台的 SHA1/SHA256 与 APK 实际签名一致(apksigner verify --print-certs)
想问:no access 具体校验哪一项?还需要提供 APK 或工程吗?
0 个回复