Android 6.0 内部更新apk 解析出错

Android 6.0 内部更新apk 解析出错

问题

Android 6.0 内部更新功能,安装apk时,解析数据出错。

bug定位

1、有可能安装包没有下载成功,或者下载的安装包不完整,这个需要自己排查。
2、有可能你是把安装包写在了cache里面了,这样导致Android 6.0以下的 安装不成功。

解决方案

1、针对第一个bug的定位,自己查看到底是否正确下载了apk;
2、针对第二个bug定位,那就是权限的问题。直接上代码

 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
                intent.setDataAndType(Uri.fromFile(newFile), "application/vnd.android.package-archive");
                chmod("777", newFile.getAbsolutePath());//apk放在cache文件中,需要获取读写权限
            } 
  /**
     * 
     * @param permission
     * @param path
     */
    public static   void chmod(String permission, String path) {
        try {
            String command = "chmod " + permission + " " + path;
            Runtime runtime = Runtime.getRuntime();
            runtime.exec(command);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

综述

希望能帮到你哦,如果帮到您了,稍微一下您的小鼠标,点个小赞哦,祝工作愉快,开心快乐每一天哦。

猜你喜欢

转载自blog.csdn.net/honeylife/article/details/110004262
今日推荐