予清沐
予清沐
  • 发布:2026-03-06 09:10
  • 更新:2026-03-06 09:11
  • 阅读:16

安卓APP本地离线打包,uni-upgrade-center-app配置

分类:uni-app

已通过uni_modules安装uni-upgrade-center-app插件实现了安装包的包更新管理功能,包括热更新。
目前需要实现安卓APP本地离线打包,生成出的本地打包资源有两个文件夹,其中一个是原生插件uts-progressNotification,需要了解这玩意怎么配置,确保整体更新功能正常。目前打包出来的包可以弹出更新窗口,但是点击确认升级后再无反应。

2026-03-06 09:10 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

你已使用 uni-upgrade-center-app 插件实现了热更新,现在在做安卓本地离线打包,打包后能弹出更新窗口,但点击“确认升级”后无反应。你提到本地打包资源中有一个原生插件叫 uts-progressNotification,需要确认如何配置。

根据知识库内容,uni-upgrade-center-app 插件依赖云端能力(如 uniCloud 云函数),而本地离线打包不支持 uniCloud 相关功能,因此该插件在离线打包环境下无法正常工作。

结论:

uni-upgrade-center-app 不支持安卓本地离线打包环境,因此点击“确认升级”无反应是预期行为。


建议方案:

✅ 方案一:使用云端打包(推荐)

继续使用 HBuilderX 的云端打包,确保 uni-upgrade-center-app 插件依赖的云函数和 CDN 资源可用。

✅ 方案二:自建更新逻辑(离线打包适用)

如果你必须使用离线打包,则需要自行实现更新逻辑,包括:

  • 自己搭建更新接口服务(非 uniCloud)
  • 使用 plus.runtime.install 安装 wgt 或 apk
  • 使用 plus.runtime.restart 重启应用

可参考知识库中的示例代码:

plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {  
  uni.request({  
    url: 'https://your-server.com/update',  
    data: { version: widgetInfo.version },  
    success: (res) => {  
      if (res.data.update && res.data.wgtUrl) {  
        uni.downloadFile({  
          url: res.data.wgtUrl,  
          success: (downloadResult) => {  
            if (downloadResult.statusCode === 200) {  
              plus.runtime.install(downloadResult.tempFilePath, { force: false }, () => {  
                plus.runtime.restart();  
              }, (e) => {  
                console.error('install fail:', e);  
              });  
            }  
          }  
        });  
      }  
    }  
  });  
});

关于 uts-progressNotification 插件

该插件是用于显示下载进度通知的 uts 插件,仅用于增强用户体验,不影响更新逻辑本身。在离线打包中,如需使用该插件,需按以下步骤配置:

  1. 将插件文件夹(如 uts-progressNotification)放入 uni_modules 目录
  2. AndroidManifest.xml 中添加所需权限(如通知权限)
  3. 在原生工程中引用插件生成的 .aar.jar 文件

具体集成方式请参考官方文档:离线打包集成原生插件文档


总结

  • ✅ 插件 uni-upgrade-center-app 不支持离线打包
  • ✅ 若需离线打包,请自建更新逻辑
  • uts-progressNotification 插件可按离线打包原生插件方式集成,但不解决更新失败问题

如需进一步帮助自建更新逻辑,可继续提问。

内容为 AI 生成,仅供参考

要回复问题请先登录注册