关于uni-app:uniapp热更新后不匹配的版本可能造成应用异常的原因和解决方法

问题的呈现

线上紧急修复bug的时候,常常应用热更新,最近一次热更新后遇到了问题:更新完后下一次关上app时,提醒了:

“本利用应用HBuilder3.2.16编译或对应的cli版本编译,而手机端SKD版本是3.2.9。不匹配的版本可能造成利用异样。”

呈现这一提醒的起因是,上一次版本公布的app曾经大半个月了,期间我降级了HBuilder的利用版本,在打包wgt文件时,应用了3.2.16版本的hbuilder打包进去的,而用户手机上安装的是3.2.9版本的hbuilder打包的整包,所以在更新时提醒编译版本和手机内运行的版本不统一。

解决办法

  • 1、从新打包apk

解决这个问题的办法有很多,其中对app来说,最好的办法就是用高版本的3.2.16打一个新包,并让用户强制更新到新包,因为hbuilder降级会修复很多bug,其中有一些bug是须要咱们关注的,降级到最新版本能够达到缩小bug的目标。

  • 2、回退hbuilder版本

然而整包强制更新对用户不太敌对,对于用户来说,最好的办法就是重新安装3.2.9的hbuilder打包,放弃和用户手机对立的版本,在下一次须要整包更新的再降级到最新的hbuilder,这样的毛病就是,当hbuilder修复了一些重要的bug,作为开发者不能第一工夫享受到这个修复,如果这个bug还影响用户,那就必须进行降级了。

  • 3、疏忽弹窗

第三种办法就是不解决版本差别,而间接疏忽弹窗,“不匹配的版本可能造成利用异样。”,可能也就代表了不肯定,小版本的更新,少数状况下咱们是能够间接疏忽的,疏忽的办法也很简略:

manifest.json中,"app-plus"->"compatible"增加配置:

"app-plus": {  
    "compatible": {  
        "ignoreVersion": true //true示意疏忽版本查看提示框,HBuilderX1.9.0及以上版本反对  
    }
},  

更多细节内容能够参考官网的阐明:

uni-app运行环境版本和编译器版本不统一的问题

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理