问题描述
APP 扫码 mPaas 小程序弹出 toast 信息:"应用更新错误(50002)"。
原因分析
通过扫码进行真机调试的正常流程如下:
- 在小程序 IDE 生成二维码,以供手机客户端扫描,同时会将小程序包上传至 mPaaS 控制台的小程序发布中。
- 手机客户端扫描此二维码后,会主动通过 RPC 请求去拉取控制台中的 AMR 文件。
当调用 MDS 小程序更新接口后,若没有获取对应的小程序信息,就会提示“应用更新错误(50002)”。这类问题可能的原因包括:
- 服务端尚未发布,包括:
- 控制台未发布上传的小程序。
- 小程序刚发布,但服务端尚未收到刚发布的小程序。
- 客户端版本不在范围内。
- 请求信息和服务端发布的规则不匹配。
排查思路
1. 过滤日志
在 Android Studio 控制台的日志信息中过滤关键字 DynamicRelease。查看 UnionResourceInfo 中是否有 Item 信息。
- 正常情况下,会含有 item 信息,示例如下:
- 若未包含 item 信息,则为异常,示例如下:
2. 检查接入真机预览和调试功能
按照Android 小程序接入真机预览与调试中的步骤检查检查接入真机预览和调试是否正确。
3. 检查客户端版本范围
版本号对应 Android 项目 versionName 值。只有当最低版本号 < 当前 App 版本号 < 最高版本号时,才能正常的拉取小程序。若不在这个范围,App 启动小程序时就会拉取失败,报 "应用更新错误"。
所以推荐在最低版本输入 0.0.0.0,最高版本不填写(表示无限大)。
注意事项
由于在小程序 IDE 上传、预览、真机调试会自动将小程序上传至控制台,无需用户在控制台修改配置信息,所以在创建小程序时,不推荐从小程序发布中添加小程序包,防止出现主路径不一致。如要修改小程序,可以在小程序 IDE 中修改。
4. 检查主入口路径
查看 mPaaS 控制台中填写的小程序主入口路径是否与小程序 IDE 中的主入口路径一致。
mPaaS控制台默认主路径格式为:/index.html#xxx/xxx/xxx/xxx
,其中 #
后方的 xxx/xxx/xxx/xxx
是小程序的 app.json
中的 pages
中的第一个值。
查看小程序包
基本信息
1.0.5.3
版本Q:
最低版本:
最高版本:
ios
0.0.0.0
客户端范围:
最高版本:
最低报本:
Android
1.0.0.0
配置信息
主入口URL
indexhtmlpages/page/Page
显示底部导航栏0:是O否
显示右上角功能选项:是O否
虎拟域名?
2021011520210115.test.com
扩展信息O:
仅WIFI(CEWIFI需用户使用应用时才会下载)
下载时机:
预加载(离线包或小程序下彭完成后则自动安装)
安装时机:
小程序开发者工具
文件
小程序开发者工具
编程
小程序
真机扫指50002问题
模拟器
调试器
特龙器
MPAASIDE扩展工具
indecaxml
pageaxml
apPjson
pagejs
pageson
appjsor
配置小程序
向设置
田3功能
8白名单设置
基本信息
20201217
客户端范围:
最高版本
最低版本:
0.0.0.0
ios
版本号格式程考1.0.0.1
确认
版本号格式参考1.0.0.1
最低饭本:
最高版本
Android
1.0.0.0
小程序设雪
选择文件
图标
会根据您项目代码,提示尚误配置项
不俄购您用上额批固不及就地色情.四,..,过系为心地.,团心!
160px范围内
点击设置
配置信息
主入口:
hindexhtmlpages/page/page
小程方的兰实风宝店货店
后台保活:
是否后台保活
是否
显示底部导航烂:
是否是示小程序底部的TabBar
是O否
豆示右上角功能选项:
调试器
工单协助
如果依然不能解决问题,请准备好相关问题的复现 Demo 工程,通过阿里云工单系统联系 mPaaS 售后技术支持。
撰文:刘启洋
- END -