DCloud_heavensoft
DCloud_heavensoft
  • 发布:2019-04-17 02:51
  • 更新:2023-08-25 16:09
  • 阅读:52073

uni-app各环节版本兼容性说明

分类:uni-app

uni-app是一个跨度很大的产品,支持多种开发ide、HBuilderX有正式版和alpha版、支持cli和普通项目、支持很多端、有云打包app和本地打包app、编译器模式支持老的模板模式和新的自定义组件模式。
它们都会升级,如果出现一个升级、另一个未升级的情况,可能会运行异常。

正常情况,HBuilderX升级后,其自带的app运行基座、uni-app编译器、云打包配套引擎会同步升级。但在开发者使用cli创建项目、使用自定义基座、使用5+sdk离线打包时,就需要手动维护版本更新。

我们经常遇到的误报问题是:“我的HBuilderX已经是最新版了,升级日志里提到的已解决问题,为什么没有仍然存在?”,其实有的是因为cli项目下编译器是旧的、有的是因为本地打包的sdk是旧的,有的是因为自定义基座的版本是旧的。

  • 如果你使用cli创建项目(即项目根目录是package.json),不管用什么ide,即便是用HBuilderX,切记cli项目的编译器是在项目下的,HBuilderX不管怎么升级都不会影响编译器版本。你需要手动npm update来升级编译器。以及如果你想要安装less、scss等预编译器,也需要自己npm安装在项目下,而不是在HBuilderX的插件管理里安装。

  • 如果你使用离线打包,请注意HBuilderX升级后,真机运行基座和云打包对应引擎跟随HBuilderX升级,而你的sdk需要手动升级。sdk的版本升级一般滞后HBuilderX正式版升级一两天。在这里下载最新版

  • 如果你使用自定义基座,之前制作的自定义基座是不会跟随HBuilderX升级的,升级HBuilderX后你应该重新制作新版自定义基座。

  • 如果你使用wgt升级,新版HBuilderX编译的wgt,运行到之前的runtime上,一定要先测试好,看有没有兼容性问题。如果有问题,就不要wgt升级,整包升级。

  • 考虑到向下兼容,uni-app编译器在升级为新的自定义组件模式后,同时保留了对老编译模式的向下兼容。
    在HBuilderX alpha版中,App端一定会使用新编译器,不理会manifest配置。
    在HBuilderX 正式版中,新创建的项目会使用新编译器,老项目不会强制使用,而是开发者自己在manifest里配置开启。

  • 如果你使用其他ide开发uni-app,会经常因为拼错单词而运行失败,因为经过webpack编译一道,很多错误反应的不够直观,排错时间很长,不如从开始就依赖有良好提示的HBuilderX,避免敲错单词。

  • 云打包的引擎版本说明
    HBuilderX Alpha,只有1套云打包机,不管你的HBuilderX alpha版本多少,对应的打包机一定是最新的alpha版的客户端引擎。
    HBuilderX正式版,有2套打包机,一个是最新正式版,一个是次新正式版。
    中间的紧急更新版本没有独立打包机。
    举个例子:
    HBuilderX 有1.8.0、1.8.1、1.8.2、1.9.0、1.9.1这几个正式版。
    那么当前可用的打包机有1.9.1和1.8.2这2台。(即每个大版本的最后一个版本)
    除了这2个HBuilderX版本外,其他版本的云打包都指向最新的1.9.1版对应的打包机。(即只保留2个大版本的云打包机)

很多人在报问题时不说清自己的情况,导致别人给出错误的回答。
很多人在搜问题时没注意看条件,导致使用了并不适用于自己的错误方案。

要想问题少,推荐使用HBuilderX完成一切工作,包括创建项目、运行编译、云打包app。
因为在这套体系里,官方会对很多常见的问题做出提醒和引导,减少问题的概率。随着HBuilderX的升级,uni-app编译器、真机运行基座、云打包引擎都会升级。

版本列表

下面提供 uni-app 开发中各产品的版本对应表:

<iframe src="https://dev.dcloud.net.cn/product/versions/view" width="100%" height="500px" frameborder="0" scrolling="no" style="border: 1px solid #eee; border-radius: 4px;"> </iframe>
11 关注 分享
Trust 萌龙 DCloud_HB_WDL 5***@qq.com yqs 杨大宝 8***@qq.com albearcat 2***@qq.com 风云杭州 南黎

要回复文章请先登录注册

s***@163.com

s***@163.com

(1) 20200414的时候,将HbuildeX2.5.1.20190103升级到最新版2.6.11.20200409时出现界面不适配问题(如字体和布局变大、有些样式不起效等问题),也不知道什么原因,只能又回退到HbuildeX2.5.1版本,期望下次升级不会出现这个问题;(2) 20200506的时候,将HbuildeX2.5.1.20190103升级到最新版2.6.16.20200424时出现界面不适配问题,又回退到HbuildeX2.5.1版本;
(3) 20200528的时候,打包提醒当前版本2.5.1,但云打包服务器版本为2.7.5,可能出现兼容问题。本想直接去官网下载HbuildeX2.7.5,想着保持和云打包服务器版本一致来避免可能出现的兼容性问题,但是此时官网的历史版本中并没有HbuildeX2.7.5这个版本(HbuildeX的最新版为2.7.9,可下载的历史版本最新版为2.6.16)。所以我先忽略了当前版本和服务器编译器版本不一致的提醒,继续打包,然而打包后文件大小由原来的17.2M变为10.2M,安装到真机上直接无法正常启动了(永远停留在启动页);
此时不得不升级了,将HbuildeX2.5.1.20190103升级到最新版2.7.9.20200527,打包(打包时未提醒当前版本和服务器编译器版本不一致,此时的云打包版本还是2.7.5吗?如果是,那么2.7.9版本打包为啥没提醒不一致?我很疑惑呀,话说云打包服务器有2个版本,我很混乱。。)后虽然文件还是变小了但是能正常启动,然而仍有之前所说的界面不适配问题,看来一点懒都不能偷,再调一次适配吧。。(一直不知道什么原因,之前想将HbuildeX2.5.1.20190103升级到2.6.11.20200409时就出现了,不知道是这两个版本间中哪个版本影响的)
(4) 结论:每升级一次,大多数情况下都会对原来已调试好的程序产生影响,如插件不能用了、界面不适配了等等,入坑已深,入者做好心理准备。
2020-05-28 11:10
h***@hotmail.com

h***@hotmail.com

用2.4.6打包就没问题,现在云打包升级了就有问题了。就没有低版本打包方法吗
2020-05-24 02:38
阿年啊

阿年啊

真机调试 哪个安卓版本兼容好
2020-05-14 18:46
DCloud_heavensoft

DCloud_heavensoft (作者)

回复 m***@medpeer.cn :
建议保留多个版本的hx,如果是离线打包可自己控制版本。如果是云打包,每个版本要下线一般都有一个季度的缓冲期,做兼容处理的时间足以
2020-05-14 16:49
m***@medpeer.cn

m***@medpeer.cn

这么说就是每次更新必须跟着更呗,这也太坑了吧,每次更新都一堆bug,哪有时间搞这个
2020-05-13 19:42
红尘一缕风

红尘一缕风

回复 红尘一缕风 :
h5平台的
2020-04-10 11:32
红尘一缕风

红尘一缕风

发行之后,在微信开发工具里面打开,提示Uncaught ReferenceError: require is not defined,请问这个要怎么解决呢?
2020-04-10 11:31
luch

luch

回复 8***@qq.com :
可以配置关闭的
2020-04-10 10:55
8***@qq.com

8***@qq.com

你这新版本在我这边有bug,我返回上一个版本打包总提示版本不对,这个提示你们应该去掉啊,又不影响APP的使用,不然打包后人家怎么用哦
2020-04-10 10:22
1***@qq.com

1***@qq.com

V2.6.5 自定义基座运行到手机不行,报bug,让手动拷贝安装到手机。把android-debug.apk包拷贝到手机,然后安装完成。运行正常。然后再在hbuilder中运行到手机。结果检测到自定义基座有更新,正在删除旧版本。又把我手动安装的给删掉了。又报bug让手动拷贝安装到手机。我就想知道怎么同一个android-debug.apk包,怎么会检测到不一样呢?
2020-03-26 13:14