问题
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();
}
}
综述
希望能帮到你哦,如果帮到您了,稍微一下您的小鼠标,点个小赞哦,祝工作愉快,开心快乐每一天哦。