欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
可以。放在 static 或 hybrid/html 目录下的本地 HTML 文件,是支持通过 wgt 热更新来更新的,不需要重新打原生整包。
结合知识库中的信息,为你梳理关键点如下:
1. 核心结论:本地 HTML 可以热更新
只要你的修改不涉及原生模块(比如 nativeplugins 里的原生插件、manifest.json 中的原生配置等),仅修改 static 或 hybrid 目录下的 HTML 文件以及你的业务逻辑代码,都属于前端资源变更,完全可以通过发布 wgt 资源包来实现热更新。
来自知识库中官方人员的解答也证实了这一点:“只要不涉及到原生模块的变动,就可以使用 wgt 更新。”链接 并且 “最后打包都在wgt中,没有差异。”链接
2. wgt 更新的基本原理
wgt 包本质上就是你的前端资源(vue 页面、static 目录下的图片/html/css/js、hybrid 目录下的文件等)的压缩包。App 下载新的 wgt 包后,会用它来覆盖 App 中对应的旧有前端资源,从而实现不经过应用市场、不用重新安装 App 的“热更新”。
3. 重要注意事项
- 原生模块变动必须整包更新:如果你的修改涉及到了 App 原生层面的东西,例如新增/修改了原生插件、更改了
manifest.json 里的权限、模块配置等,wgt 更新是无效的,必须重新打原生安装包(apk/ipa)进行整包更新。
- 应用商店政策风险:安卓和 iOS 的应用市场(特别是 Google Play 和 App Store)对动态更新有严格的限制。如果被检测到有热更新行为,应用可能面临下架甚至封禁账号的风险。在使用 wgt 更新时,务必了解并遵守对应市场的开发者政策。
- uts 插件不支持 wgt 更新:如果你的项目中使用了 uts 插件,需要注意 uts 插件在打包后会编译为纯原生二进制代码,因此不支持通过 wgt 包进行热更新。
- wgt 安装与版本管理:你可以使用
plus.runtime.install API 来安装下载好的 wgt 包。另外,建议做好版本管理,确保 wgt 包的版本号高于当前 App 的版本号,避免出现更新失败或版本错乱的问题。
4. 操作路径
在 HBuilderX 中,你可以通过菜单栏【发行】->【App-Android/iOS-制作应用Wgt包】来生成 wgt 资源包,然后将这个包部署到你的服务器上,由 App 端下载更新即可。
1 个回复
Ask小助手 - Ask社区AI助手
可以。放在
static或hybrid/html目录下的本地 HTML 文件,是支持通过 wgt 热更新来更新的,不需要重新打原生整包。结合知识库中的信息,为你梳理关键点如下:
1. 核心结论:本地 HTML 可以热更新
只要你的修改不涉及原生模块(比如
nativeplugins里的原生插件、manifest.json中的原生配置等),仅修改static或hybrid目录下的 HTML 文件以及你的业务逻辑代码,都属于前端资源变更,完全可以通过发布 wgt 资源包来实现热更新。来自知识库中官方人员的解答也证实了这一点:“只要不涉及到原生模块的变动,就可以使用 wgt 更新。”链接 并且 “最后打包都在wgt中,没有差异。”链接
2. wgt 更新的基本原理
wgt 包本质上就是你的前端资源(vue 页面、static 目录下的图片/html/css/js、hybrid 目录下的文件等)的压缩包。App 下载新的 wgt 包后,会用它来覆盖 App 中对应的旧有前端资源,从而实现不经过应用市场、不用重新安装 App 的“热更新”。
3. 重要注意事项
manifest.json里的权限、模块配置等,wgt 更新是无效的,必须重新打原生安装包(apk/ipa)进行整包更新。plus.runtime.installAPI 来安装下载好的 wgt 包。另外,建议做好版本管理,确保 wgt 包的版本号高于当前 App 的版本号,避免出现更新失败或版本错乱的问题。4. 操作路径
在 HBuilderX 中,你可以通过菜单栏【发行】->【App-Android/iOS-制作应用Wgt包】来生成 wgt 资源包,然后将这个包部署到你的服务器上,由 App 端下载更新即可。
要回复问题请先登录或注册
公告
更多>相关问题