针对一些没有SD卡的设备,比如有些TV盒子,在应用升级时需要把下载的apk存到/data/data/packagename/目录下,执行安装时会提示解析包错误问题。
需要先把apk文件和文件目录权限使用chmod 777命令修改。代码如下:
try {
Runtime.getRuntime().exec("chmod 777 " + Environment.getDataDirectory().getAbsolutePath() + "/data/" + context.getPackageName() + " \n");
File destDir = new File(filePath);
if (!destDir.exists()) {
destDir.getParentFile().mkdirs();
}
Runtime.getRuntime().exec("chmod 777 " + destDir.getParentFile().getPath() + " \n");
Runtime.getRuntime().exec("chmod 777 " + filePath + " \n");
} catch (IOException e) {
Log.e("installNormal", "chmod fail!!!!");
e.printStackTrace();
}
网友评论