9***@qq.com
9***@qq.com
  • 发布:2020-07-16 10:18
  • 更新:2020-07-16 13:40
  • 阅读:869

【报Bug】mui-app 无法打开安装包

分类:MUI

产品分类: 其他/MUI

示例代码:

ar dtask = null;

function createDownload(url) {
if(dtask) {
mui.toast('下载任务已经存在');
return;
}
dtask = plus.downloader.createDownload(url, {
method: 'GET'
},
function(d, status) {

        mui.toast("准备安装!");  
        $("#per_tips").text('正在查找安装包,请稍后!');  
        plus.io.resolveLocalFileSystemURL(d.filename, function(entry) {  
            if(entry.isFile) {  
                $("#per_tips").text('正在打开安装包,请稍后!');  
                mui.toast(entry.fullPath);  

// plus.runtime.openFile( entry.fullPath, {}, function ( e ) {//调用第三方应用打开文件
// mui.toast('打开安装包失败');
// plus.runtime.quit();
// });

                plus.runtime.install( entry.fullPath, {}, function ( e ) {  
                    // 正确安装后的回调  
                    mui.toast('正在安装请稍后!');  

// plus.runtime.quit();
}, function( e ) {
// 安装失败的回调
mui.toast('打开安装包失败,请手动安装或重新下载安装!');
});
}
}, function(e) {
mui.toast("未找到安装包,请重新下载!");
plus.runtime.quit();
});
// plus.runtime.quit();
}
);
dtask.addEventListener("statechanged", function(task, status) {
if(!dtask) {
return;
}
switch(task.state) {
case 1:
// mui.toast('开始下载...');
$("#per_tips").text('开始下载...');
break; //开始
case 2:
$("#per_tips").text('下载中...');
break; //链接到服务器
case 3:
var progressVal = (task.downloadedSize / task.totalSize) * 100;
// mui('#progress_bar').progressbar({
// progress: progressVal
// }).show();
$("#per_cent").text(parseInt(progressVal) +"%");
break;
case 4:
// mui.toast('下载完成');
$("#per_tips").text('下载完成');
// mui('#progress_bar').progressbar({
// progress: 100
// }).hide();
break;
}
});
dtask.start();
}

// 因为下载功能没有问题,所以我就只放置安装部分代码了

操作步骤:

打开手机app,无需登录,app会自动检测更新,正常下载,下载完成,提示安装,手机无反应;

目前已知无法安装的手机型号:华为Mate20 Pro、华为nove2、华为P40 Pro(截图在下面上传,仅管理员可⻅)

预期结果:

我尝试了两种方法:

  1. plus.runtime.openFile:
    我本想以打开文件的形式来触发手机自带的安装功能,结果一直是打开失败。。。
  2. plus.runtime.install:
    由于上一个方法不行,我只能还成这个方法,结果回调时成功的,但是手机就是没反应。。。

实际结果:

无法安装

bug描述:

我用mui-app制作的app,为了方便更新,写了一个自动更新功能,可是在最近出现一个问题:安装包下载成功,但是在部分安卓手机上出现了无法打开安装包的问题;安装包没有问题,因为我文件管理中找到下载的安装包进行手动安装是成功的

2020-07-16 10:18 负责人:无 分享
已邀请:
DCloud_Android_ST

DCloud_Android_ST

用的老HBuilder编译打包的吗

  • 9***@qq.com (作者)

    是的

    2020-07-16 15:59

  • 9***@qq.com (作者)

    我这本来就是用老HBuilder制作的,都有两三年了;我怕用HBuilderX打包有问题,所以一直用的老HBuilder来维护这个项目;只有新项目才用HBuilderX

    2020-07-16 16:07

  • DCloud_Android_ST

    回复 9***@qq.com: 是这样的HBuilder不维护了。所以相应的代码适配也就停留在android8上。所以高于8的手机可能无法正常触发安装界面。建议升级HX

    2020-07-16 16:11

  • 9***@qq.com (作者)

    那我用HBuilderX打包,会不会出现样式或其他功能不适配的问题

    2020-07-17 10:26

  • DCloud_Android_ST

    回复 9***@qq.com: 这个无法保证。大部分不会出现问题。可能需要您自己适配一下

    2020-07-17 11:35

  • 9***@qq.com (作者)

    回复 DCloud_Android_ST: 我刚刚试了一下我基本上所有页面都有问题!这怎么办,我重新再写一个?

    2020-07-17 13:04

  • DCloud_Android_ST

    回复 9***@qq.com: 如果有问题需要您主动适配了

    2020-07-17 13:07

  • 9***@qq.com (作者)

    回复 DCloud_Android_ST: 那不是要我重新写

    2020-07-17 13:13

  • 9***@qq.com (作者)

    我这个还是用的mui-app的框架,这个项目已经进入维护阶段了,公司也不可能给我时间去重写啊。。。

    2020-07-17 13:14

该问题目前已经被锁定, 无法添加新回复