android客户端软件版本更新过程中,android4.1.1系统下待新版客户端软件下载准备安装时,出现了“解析程序包出现问题”的错误。

稍后尝试了android1.6和android2.3.x系统下进行软件版本更新,均无任何问题。

接下来查看了android4.1.1在进行新版客户端软件安装时出现的warning日志:

?:??: W/?(?): Unable to open zip '/data/data/com.xxx.android/cache/xxxAndroid1941014286.apk': Permission denied
?:??: W/?(?): Parse error when parsing manifest. Discontinuing installation
?:??: W/?(?): Unable to read AndroidManifest.xml of /data/data/com.xxt.android/cache/xxxAndroid1941014286.apk

进入到/data/data/com.xxx.android/cache/目录下,确实有这个xxxAndroid1941014286.apk文件,而这个文件的所有者属于 com.xxx.android应用的创建者,该文件仅仅对于所有者开放了rw(即读写)权限,那么同用户组及其他用户组的用户也就没有访问该文件的权限,当我们把安装应用程序的意图传递给android系统提供的activity,而这个activity尚没有访问该文件的权限,也就无法安装了,所以出现了“ Permission denied ”的问题。。

之所以出现这个问题,是因为下载新版本的客户端安装文件时,采用File.createTempFile的方法,将下载下来的安装文件当做临时文件写入到手机上。。

而在android1.6和android2.3.x系统下,用File.createTempFile这种方式创建的临时文件会存放到sd卡上;在android 4.1.1系统下,则会将临时文件存放到/data/data/应用包名/cache目录下,而这个目录仅对应用的创建者有读写权限。。

更多相关文章

  1. Android应用开发提高系列——Android动态加载(下)——加载已安装AP
  2. VS2013开发Android(安卓)App 环境搭建
  3. Android:StatFs类 获取系统/sdcard存储空间信息
  4. android—AOSP、AOKP、CM的区别
  5. Android(安卓)studio 3.0安装配置方法图文教程
  6. Android(安卓)Studio下载及安装3.0版本
  7. 【源代码】基于Android和蓝牙的单片机温度採集系统
  8. adb shell 查看系统属性(用来判断特殊的操作系统)
  9. Android(安卓)个推 Clientid,PushManagerReceiver

随机推荐

  1. 报错android.view.WindowLeaked解决办法
  2. android Stopwatch实例
  3. Android(安卓)nine-patch 原理解释
  4. Android(安卓)EditText 只能输入三行文本
  5. Android之SharedPreference轻量级数据存
  6. android显示圆形图片
  7. android 录音
  8. Android之merge(二)
  9. android 给textview部分文字设置点击事件
  10. Android(安卓)-- Button [ 学习笔记 一 ]