uniapp打包后wgtversion变化但appversion未变是什么原因

在uniapp项目中,每次打包wgt热更新包时,wgtversion会自动递增,但appversion始终不变。这是正常现象吗?是否需要手动修改appversion?如果appversion不更新是否会影响到热更新功能的正常使用?求解答具体原理和最佳实践。

2 回复

uniapp打包时,wgtversion是热更新版本号,每次热更新都会变化。而appversion是应用主版本号,只有整包更新才会改变。这是正常现象,不影响功能。


在UniApp中,打包后 wgtversion 变化但 appversion 未变,通常由以下原因导致:

  1. 资源更新与原生分离

    • wgtversion 对应 wgt资源包版本(如 manifest.json 中的 versionName/versionCode),每次打包都会更新。
    • appversion 对应 原生应用版本(如Android的 versionName/versionCode),需手动修改原生配置才会变更。
  2. 未修改原生配置

    • 若仅更新H5资源(如Vue页面),未调整原生配置(如AndroidManifest.xml或Xcode工程),则 appversion 保持不变。

解决方法:

  • 修改原生版本号
    在HBuilderX中,打开 manifest.json → “App常用其它设置” → 手动修改 版本号(Android)或 CFBundleShortVersionString(iOS)。

  • 命令行/CI配置
    若使用自动化打包,需在命令或配置中指定版本号,例如:

    # 示例(具体参数根据CLI工具调整)
    hbuilderx-cli pack --appversion 1.2.0
    

检查步骤:

  1. 解压安装包(APK/IPA),查看 manifest.json 中的 version 字段(wgt版本)。
  2. 对比原生配置:
    • Android:检查 apktool 解压后的 AndroidManifest.xml
    • iOS:检查 Info.plist 中的 CFBundleVersion

通过主动更新原生配置即可同步版本号。

回到顶部