uniapp离线打包实现gwt热更新闪退失败的解决方案
·
1.问题定位
uniapp离线打包在gwt热更新时出现闪退和下载不了的问题是因为App找不到解压gwt的依赖包
2.核心代码
在Android Stadio主项目的 build.gradle > dependencies中增加以下依赖:
dependencies {
implementation 'net.lingala.zip4j:zip4j:2.11.5'
}
3.uniapp热更新代码
热更新代码加入了进度监听,不需要的话可以直接注释,更新后自动重启
const downloadWgt = (url) => {
downloading.value = true;
downloadedSize.value = 0;
totalSize.value = 0;
const dtask = plus.downloader.createDownload(url, {}, (d, status) => {
if (status === 200) {
plus.runtime.install(d.filename, { force: false },
() => {
plus.runtime.restart();
},
err => {
err_name.value = err;
$Toast('安装失败')
downloading.value = false;
}
);
} else {
downloading.value = false;
$Toast('下载失败')
}
});
dtask.addEventListener("statechanged", task => {
if (task.state === 3 && task.totalSize > 0) {
totalSize.value = task.totalSize;
downloadedSize.value = task.downloadedSize;
percentage.value = Math.floor(task.downloadedSize / task.totalSize * 100);
}
});
dtask.start();
};
更多推荐
所有评论(0)