uniapp打包后wgtversion变化但appversion未变是什么原因
在uniapp项目中,每次打包wgt热更新包时,wgtversion会自动递增,但appversion始终不变。这是正常现象吗?是否需要手动修改appversion?如果appversion不更新是否会影响到热更新功能的正常使用?求解答具体原理和最佳实践。
2 回复
uniapp打包时,wgtversion是热更新版本号,每次热更新都会变化。而appversion是应用主版本号,只有整包更新才会改变。这是正常现象,不影响功能。
在UniApp中,打包后 wgtversion 变化但 appversion 未变,通常由以下原因导致:
-
资源更新与原生分离
wgtversion对应 wgt资源包版本(如manifest.json中的versionName/versionCode),每次打包都会更新。appversion对应 原生应用版本(如Android的versionName/versionCode),需手动修改原生配置才会变更。
-
未修改原生配置
- 若仅更新H5资源(如Vue页面),未调整原生配置(如AndroidManifest.xml或Xcode工程),则
appversion保持不变。
- 若仅更新H5资源(如Vue页面),未调整原生配置(如AndroidManifest.xml或Xcode工程),则
解决方法:
-
修改原生版本号:
在HBuilderX中,打开manifest.json→ “App常用其它设置” → 手动修改 版本号(Android)或 CFBundleShortVersionString(iOS)。 -
命令行/CI配置:
若使用自动化打包,需在命令或配置中指定版本号,例如:# 示例(具体参数根据CLI工具调整) hbuilderx-cli pack --appversion 1.2.0
检查步骤:
- 解压安装包(APK/IPA),查看
manifest.json中的version字段(wgt版本)。 - 对比原生配置:
- Android:检查
apktool解压后的AndroidManifest.xml。 - iOS:检查
Info.plist中的CFBundleVersion。
- Android:检查
通过主动更新原生配置即可同步版本号。

