问题现象
使用HBuilderuilder6.0.0及之前版本打包ipa/apk包,HBuilder升级到6.1.0及之后版本,通过“发行”->“制作移动App资源升级包...”生成应用升级包wgt文件后,或者是生成应用差量升级包(wgtu)。
在之前安装ipa/apk包中通过应用升级(差量升级)后就一直停留在启动页面,或者进入应用后功能无法使用。
问题原因分析
确认是因为升级HBuilder6.1.0版本后没有兼容以前的UI模块导致的问题,会影响plus.webview.、plus.nativeUI.、plus.navigator.* API的使用。
新版本中已经将UI模块拆分成Webview、NativeUI、Navigator三个独立的模块,默认生成的wgt文件中没有添加UI模块权限,导致老版本Runtime更新wgt后判断缺少UI模块权限而无法调用相关API。
解决方案
目前可通过在manifest.json文件的"permissions"节点下添加“UI”节点解决。
打开应用的manifest.json文件,切换到“代码视图”,在"permissions"节点下添加“UI”数据如下:
"UI": {
"description": "系统原生控件"
}
注:
6.1.0之后版本已经去掉模块权限的判断逻辑,不会存在此问题。
6.2.0版本默认添加UI模块,确保向下的兼容性。