在apk自动更新(相关问题可以看我的博客http://blog.csdn.net/caicongyang) 从服务器下载完成后,点击notification提示安装时,每次都报解析包失败错误!首先我想到用2.3版本下载取到下载好的文件,比对文件大小和二进制发现下载的文件没有问题。经过度娘的提示,找到了原因。原因是我的文件是写入android内存中的,而我在写入文件的时候,并没有选择文件的属性,必须指定为MODE_WORLD_WRITEABLE而不是MODE_PRIVATE。android是在linux的基础上发展而来,而linux是一种多用户多任务的操作系统,对文件管理有着严格的控制,所以我们需要给他设置让其他用户也能操作这个文件。
度娘还提示可以将下载好的apk文件拷到sd卡中,然后再打开执行安装操作。或者利用执行linux的chmod命令的方式修改该文件所在文件夹和该文件的权限。
从一个优秀的码农的角度来看,一个比较好的做法是先检测sd卡是否存在,如果不存在提示用户再讲文件下载到内存中执行安装操作