Cordova热更新(二、更新遇到的问题)

在使用Cordova进行热更新时遇到了问题,包括启动页面卡住和更新文件过大。解决办法是改为手动控制更新时机,并优化Vue打包,减少更新文件大小。通过分离库文件与开发文件,确保仅更新必要的变动部分。
摘要由CSDN通过智能技术生成

今天打开app发现,app热更新遇到问题了:

问题描述:

1,使用的是自动更新的方式,热更新在app的config.xml里面配置如下:

<chcp>
        <auto-download enabled="true" />
        <auto-install enabled="true" />
        <native-interface version="2" />
        <config-file url="http://app.xiaoyu.cn" />
    </chcp>

app中dist文件夹里面的html和js是用vue开发然后打包构建出来的,所以vue里面的main.js中有执行热更新的回调事件比如:

chcp_updateLoadFailed,

chcp_updateIsReadyToInstall,

chcp_beforeInstall,

chcp_updateInstalled,

chcp_updateInstallFailed

然后main.js里面要做一些逻辑与热更新的时间有冲突了,导致了下面表现出来的问题:

卡在了启动页面转圈(用的是cordova-plugin-splashscreen插件)

解决方案:不要使用自动更新,而在main.js中去主动请求

如下:


                
第一步、将 myApp 目录下 config.xml <chcp> <auto-download enabled="true" /> <auto-install enabled="true" /> <config-file url="http://192.168.1.34:8080/myApp/www/chcp.json" /> <local-development enabled="true" /> </chcp> 地址改为自己的地址。 第步、将myApp\platforms\android\app\src\main\res\xml目录下 config.xml <chcp> <auto-download enabled="true" /> <auto-install enabled="true" /> <config-file url="http://192.168.1.34:8080/myApp/www/chcp.json" /> <local-development enabled="true" /> </chcp> 第三步、myApp\platforms\android\app\src\main\assets 目录下 .chcpenv { "content_url": "http://192.168.1.34:8080/myApp/www/", "config_url": "http://192.168.1.34:8080/myApp/www/chcp.json" } cordova-hcp.json { "autogenerated": true, "update": "start", "content_url": "http://192.168.1.34:8080/myApp/www/" } 的 地址改为自己的 地址 第四步、将android项目导入Android Studio 第五步、 myApp\platforms\android\app\src\main\assets 目录下 执行 cordova-hcp build 命令后将www 目录下的所有文件拷贝到你自己的 文件服务器上。 第六步、启动服务器 第七步、发布安装app程序。 第八步、修改www目录下的文件信息,重新执行第五步。 第七步、再次打开app程序("update": "start",需两次)。 cordova-hcp.json { "autogenerated": true, "update": "start", "content_url": "http://192.168.1.34:8080/myApp/www/" } start - app启动时安装更新. 默认值. resume - app从后台切换过来的时候安装更新. now - web内容下载完毕即安装更新. 注意:网站的路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值