uni-app cli升级到3.96最新正式版本后 生成本地打包app资源时编译却显示是3.95 导致提示SDK版本不匹配
uni-app cli升级到3.96最新正式版本后 生成本地打包app资源时编译却显示是3.95 导致提示SDK版本不匹配
操作步骤:
- 使用npx @dcloudio/uvm@latest更新cli项目到最新版本
查看package.json ,依赖包更新到了3.96 - 运行->生成本地生成打包app资源
- 观察终端日志
- 使用对应正式版的离线SDK,离线打包
- 打开APP运行
预期结果:
APP 正常运行,不提示版本不兼容问题
实际结果:
Hbuilder是3.96,cli是3.96,但生成本地资源时,控制台输出的却是3.95
运行打包后的app,提示“本应用使用Hbuilder X3.95或对应cli版本编译,而手机端SDK版本是3.96,不匹配的版本可能造成应用异常”
bug描述:
cli升级到3.96最新正式版本,生成本地打包app资源时编译却显示是3.95,导致提示“本应用使用Hbuilder X3.95或对应cli版本编译,而手机端SDK版本是3.96,不匹配的版本可能造成应用异常”
信息类别 | 详细信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Windows |
PC开发环境版本 | 10 |
HBuilderX类型 | 正式 |
HBuilderX版本 | 3.96 |
手机系统 | Android |
手机系统版本 | Android 12 |
手机厂商 | 华为 |
手机机型 | 华为荣耀 |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 离线 |
项目创建方式 | HBuilderX |
1 回复
在 uni-app 升级到最新正式版本后,如果在生成本地打包 App 资源时,编译显示的是旧版本(如 3.95),导致 SDK 版本不匹配的问题,通常是由于以下几个原因引起的。以下是一些可能的解决方案:
1. 检查当前项目的 HBuilderX 版本
确保你使用的 HBuilderX 是最新版本。可以通过以下步骤检查和更新:
- 打开 HBuilderX。
- 点击顶部菜单栏的 帮助 > 检查更新。
- 如果有新版本,按照提示更新 HBuilderX 到最新版本。
2. 确认 uni-app 编译器版本
在项目中,uni-app
编译器的版本可能与 HBuilderX 的版本不一致。可以通过以下步骤确认和更新:
- 打开项目的
package.json
文件。 - 检查
dependencies
或devDependencies
中[@dcloudio](/user/dcloudio)/uni-app
的版本是否为3.96
。 - 如果不是最新版本,可以通过以下命令更新:
npm install [@dcloudio](/user/dcloudio)/uni-app[@latest](/user/latest) --save-dev
3. 清理缓存并重新编译
有时缓存会导致版本不一致的问题。可以尝试以下步骤:
- 删除项目根目录下的
node_modules
文件夹和package-lock.json
文件。 - 重新安装依赖:
npm install
- 重新编译项目:
- 如果是 HBuilderX,点击 运行 > 运行到手机或模拟器。
- 如果是命令行,使用
npm run dev
或npm run build
。
4. 检查本地打包配置
如果你使用的是本地打包,确保本地打包工具(如 Android Studio 或 Xcode)的配置与 uni-app 的版本匹配:
- 打开项目的
manifest.json
文件。 - 检查
基础配置
中的SDK 版本
是否为最新版本。 - 如果需要更新 SDK,可以按照官方文档的指引更新本地开发环境。
5. 检查 HBuilderX 的 CLI 工具
如果你使用的是 HBuilderX 的 CLI 工具,确保 CLI 工具也是最新版本:
- 打开终端,运行以下命令检查版本:
hbx -v
- 如果不是最新版本,可以通过以下命令更新:
npm install -g [@dcloudio](/user/dcloudio)/hbuilderx