問題描述
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
中的第一個值。
工單協助
如果依然不能解決問題,請準備好相關問題的複現 Demo 工程,通過阿裡雲工單系統聯系 mPaaS 售後技術支援。
撰文:劉啟洋
- END -