一、背景

   前几天做项目的时候,遇到这样一个问题,从服务器上下载一个apk文件,然后通过发Intent去试图安装,结果总是提示我“文件无法解析”,在网上查了一下原因,可能是这个apk文件被损坏了,于是,花大力气去检查这个下载的apk文件,比较了文件大小(与Http请求的header中content-length比较),发现是正确的,把这个文件拿出来,放到pc上,然后安装,居然可以正常安装,无任何问题。这说明文件本身无问题。再后来,发现原来是文件属性导致的,这个文件居然不让我读(忘了说明,这个文件是在data目录下)。


二、解决方法

   采用如下方式解决,代码如下:

public static void chmod(File file) {
    try {
        Runtime.getRuntime().exec("chmod 622 " + file);
    } catch (Exception e) {
                                 
    }
}


其中622表示全局可读 ,还有如 644(可写) 755(可执行)。