关于chmod 777命令的使用

2019-12-10  本文已影响0人  星风wxx

针对一些没有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();
            }
切记,apk所在的每级目录都需要修改权限,只修改apk文件的权限安装时会导致解析包错误的问题
上一篇下一篇

猜你喜欢

热点阅读