uni-app 打热更新包时文件版本号没有变
uni-app 打热更新包时文件版本号没有变
信息类别 | 详细信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境操作系统 | Mac |
PC开发环境操作系统版本号 | 12 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 3.7.11 |
手机系统 | 全部 |
手机系统版本号 | Android 10 |
手机厂商 | 小米 |
手机机型 | k40 |
页面类型 | vue |
vue版本 | vue3 |
打包方式 | 离线 |
项目创建方式 | HBuilderX |
测试过的手机:
- iphoneX
- 小米k40
操作步骤:
- wgt打包
预期结果:
- 打包没问题
实际结果:
- 偶现文件中版本号不改变
bug描述:
我在项目文件配置axconfig.ts(用于判断是否需要热更新) 和 manifest.json中修改了版本号,触发热跟新
但是打出来的wgt包 manifest.json版本号改了axconfig中没有变
经验证本地文件缺失修改了
相同配置再次打包就没问题了
4 回复
暂时没有开发做sdk升级
上次热更新就是因为这个问题,没办法了,所有app重新上架,要命
在使用 Uni-App 进行热更新时,如果发现文件版本号没有变化,可能是以下几个原因导致的。以下是一些常见的排查步骤和解决方法:
1. 检查 manifest.json
中的版本号
- 热更新包的版本号是基于
manifest.json
中的versionName
或versionCode
字段生成的。 - 确保你在打包前已经更新了
manifest.json
中的版本号:{ "versionName": "1.0.1", // 更新版本名称 "versionCode": 2 // 更新版本代码 }
- 如果版本号没有更新,热更新包可能会被认为是同一个版本。
2. 确保正确执行热更新打包命令
- 在打包热更新包时,确保使用的命令是正确的:
npm run build:app-plus -- --platform=android --target=apk --mode=release --hot
- 如果你使用的是 HBuilderX,确保在打包时勾选了“生成热更新包”选项。
3. 检查 www
目录下的文件
- 热更新包是基于
www
目录下的文件生成的。 - 确保
www
目录下的文件已经更新,并且没有缓存问题。
4. 清理缓存和旧包
- 有时缓存可能导致版本号未更新。尝试以下操作:
- 删除
unpackage
目录。 - 删除
dist
目录。 - 重新打包。
- 删除
5. 检查热更新配置
- 确保在
manifest.json
中正确配置了热更新功能:{ "app-plus": { "update": { "enabled": true, "check": true, "download": true } } }