uniapp 开发环境如何测试wgt更新包

在uniapp开发环境中,如何测试wgt更新包?具体步骤是什么?需要哪些配置?测试过程中可能会遇到哪些问题,如何解决?

2 回复

在HBuilderX中,点击“发行”->“制作wgt包”,生成wgt文件。然后使用uni-app官方提供的“wgt热更新”插件或App升级中心进行测试。安装wgt包后,重启应用即可验证更新效果。


在 UniApp 开发环境中测试 wgt 更新包,可以通过以下步骤进行,确保更新过程稳定可靠:

步骤 1:生成 wgt 更新包

  • 在 HBuilderX 中,选择菜单 发行制作 wgt 包,生成 .wgt 文件。wgt 包仅包含资源文件(如页面、样式、图片),不包含原生部分。

步骤 2:配置本地测试服务器

  • 将 wgt 包放在本地服务器(如 Apache、Nginx)或云存储(如 OSS)中,确保可通过 URL 访问。
  • 例如,使用本地服务器:将 wgt 文件放在 http://localhost:8080/update.wgt

步骤 3:在 App 中实现更新逻辑

  • 在 UniApp 项目中,使用 plus.runtime API 检测并安装 wgt 包。示例代码如下(可放在 App.vue 或首页):
    // 检查更新函数
    function checkUpdate() {
      const updateUrl = 'http://localhost:8080/update.wgt'; // 替换为你的 wgt 包 URL
      plus.runtime.getProperty(plus.runtime.appid, (widgetInfo) => {
        // 这里可比较版本号(如从服务器获取最新版本),本例直接演示安装
        uni.showModal({
          title: '更新提示',
          content: '发现新版本,是否立即更新?',
          success: (res) => {
            if (res.confirm) {
              installWgt(updateUrl); // 触发安装
            }
          }
        });
      });
    }
    
    // 安装 wgt 包
    function installWgt(url) {
      plus.nativeUI.showWaiting('下载中...');
      plus.downloader.createDownload(url, {}, (download, status) => {
        plus.nativeUI.closeWaiting();
        if (status === 200) {
          plus.runtime.install(download.filename, {
            force: false // 非强制更新
          }, () => {
            uni.showToast({ title: '更新完成,重启生效', icon: 'success' });
            plus.runtime.restart(); // 重启应用
          }, (error) => {
            uni.showToast({ title: '更新失败', icon: 'none' });
            console.error('安装失败:', error);
          });
        } else {
          uni.showToast({ title: '下载失败', icon: 'none' });
        }
      }).start();
    }
    
    // 在应用启动时调用(注意:真机测试需确保 URL 可访问)
    export default {
      onLaunch() {
        // 开发阶段可手动触发,或通过条件判断控制
        checkUpdate();
      }
    }
    

步骤 4:测试流程

  1. 本地打包测试
    • 使用 HBuilderX 将项目打包为 App(基座选择“自定义调试基座”便于测试)。
    • 安装 App 到手机或模拟器,确保版本号较低(如 1.0.0)。
  2. 模拟更新
    • 修改代码或资源,生成新版 wgt 包(版本号提高,如 1.0.1)。
    • 启动本地服务器,确保 wgt URL 可访问。
    • 运行已安装的 App,触发更新逻辑,观察下载和安装过程。
  3. 验证结果:更新后应用应重启,显示新内容。检查控制台日志排查错误。

注意事项

  • 真机测试:确保手机与服务器在同一网络,或使用公网 URL(如 OSS)。
  • 版本管理:实际项目中,建议从服务器接口动态获取最新版本号和 wgt 包 URL。
  • 安全限制:Android 可能需处理文件存储权限;iOS 需注意热更新合规性(避免违反商店政策)。

通过以上步骤,你可以在开发环境中完整测试 wgt 更新流程。如有问题,检查网络连接、文件路径及控制台错误信息。

回到顶部