问题场景是:软件从 1.2.4 升级到 1.3.0 的过程中出现了如题的问题即下载后安装时出现“解析包时出现问题”的错误后停止。而且不是所有的手机都会出现这个问题,在华为 2.2 系统的测试机上是可以成功安装的,而用魅族 2X 就不行。

首先我怀疑下载的apk包的时候出现了问题,或许是在数据流传输的过程中丢包了,造成apk文件不完整。于是我查看了一下下载方法。发现程序中是用File.createTempFile的方法进行下载的,而使用File.createTempFile方法下载的文件,在不同Android系统下文件的存储位置不同。

在android1.6、android2.2、android2.3.x系统下,用File.createTempFile方法创建的文件会存放到sd卡上;在android 4.1.1系统下,则会将临时文件存放到/data/data/应用包名/cache目录下,而这个目录仅对本应用程序有读写权限,所以当程序下载成功后发送意图(Intent)给系统安装时,系统安装程序没有访问该文件的权限,于是系统就会打印“ Permission denied ”的log,弹出“解析包时出现错误”。

因为魅族2X的Flyme2.0系统是基于Android4.1系统修改的,所以会出现这个问题。

那么我们如何解决这个问题呢,我的解决方法是,让系统自带的浏览器去下载,如此一来下载下来的apk包文件就不会存在权限不足的问题了。

我这里使用的是HttpUtils.download进行下载的这个方法参数的意义:

/**
                 * 参数一:下载地址,参数二:下载到的本地的路径,
                 * 参数三:如果目标文件存在,接着未完成的部分继续下载。服务器不支持RANGE时将从新下载。
                 * 参数四:如果从请求返回信息中获取到文件名,下载完成后自动重命名。
                 */

[java] view plaincopy
  1. Intent intent = new Intent();
  2. intent.setAction("android.intent.action.VIEW");
  3. Uri content_url = Uri.parse(url);
  4. intent.setData(content_url);
  5. startActivity(intent);

很有可能是因为路径问题,最好不要写成sdcard/Download/,这样就可能出现解析包错误,建议改成 Environment.getExternalStorageDirectory()+"/Download/",就不会出现解析包的问题了

版本更新时出现解析包错误相关推荐

  1. Android 加固包之后,vivo手机安装时出现解析包错误的情况

    原因:因为我们跑的 run apk都是 debug 版本,也就是测试版本,而 vivo就不支持这个测试apk. 解决办法: gradle.properties文件中添加 android.injecte ...

  2. 关于更新app时出现解析包错误

    参考:http://stackoverflow.com/questions/5503487/android-failed-to-open-zip-archive 包解析错误 因为权限的问题,所以要在安 ...

  3. Android-7.0系统安装异常之解析包错误

    关于这个毛茸茸的小错误 最新在开发一个新的 APP ,自己手动写了版本更新,测试发现,覆盖安装的时候,在 Android 7.0 系统上出现解析包错误. 报错信息: 核心报错信息: java.lang ...

  4. android微信解析失败,为什么我的手机安装不上微信,一安装就说解析包错误

    为什么我的手机安装不上微信,一安装就说解析包错误以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 为什么我的手机安装不上微 ...

  5. 手机安装软件解析包错误解决办法

    下载了一款新的APP,满心欢喜的正准备体验的时候,却发现出现了"解析包时出现问题"之类的提示,连安装都无法成功,这样的体验肯定非常不妙.那么安卓解析包出现问题时有没有好的解决办法呢 ...

  6. vivo手机解析包错误解决方式

    作为一个用vivo手机的孩子 在真机测试时深受vivo手机的毒害  ,出现解析包错误  我就在百度各种查找 终于找到了有效的解决方案 studio中的具体操作 解决android真机测试,出现解析包错 ...

  7. mendelay为什么安装不了_方舟生存进化手游国际版出现解析包错误和解析包错误以及下载完无法安装这样应对...

    方舟生存进化手游国际版已于6月14日提前上线谷歌商城和苹果商店,相信许多小伙伴已经通过各种渠道下载到了游戏,部分小伙伴下载时会出现解析包错误以及下载完无法安装情况,今天小辰给大家带来最新的处理方法. ...

  8. Android应用解析包错误原因的总结(不定时更新)

    Android应用解析包错误的原因 导致这个问题的原因目前就我所知道的而言大致有三种(其他原因请看文章末尾): 一.使用v1.v2方式签名带来的问题 二.Android7.0新特性导致的原因 三.应用 ...

  9. 安装oculus运行时出现问题_安装软件时出现解析包出现问题是什么原因

    可能是手机软件下载过程中安装包损坏,重新下载一个即可.或者是软件与系统版本不符,建议升级到最新系统版本,或者是寻找版本的历史版本安装包安装.以下是详细介绍: 1.可能是手机软件下载过程中安装包损坏,您 ...

最新文章

  1. jQuery 淡入淡出
  2. android+自定义皮肤,android studio自定义更换皮肤详细图文教程
  3. 学习javascript数据结构(三)——集合
  4. LinQ中Skip()方法和Take()方法的使用
  5. SSH SecureShell Client的使用
  6. 数据库工程开发秘籍之TSQL 存储过程user stored procedure的概念与案例实战
  7. P1447 [NOI2010]能量采集(mobius反演)
  8. webso员ket php,客戶端和PHP後端通信:Sokets,Stream,TCP/UDP?
  9. python-对向-getattribute与getattr
  10. ————————————————————————动态规划——————————————————————1003——————————...
  11. 毕业生,管好你的档案和户口
  12. Java 10 正式发布!时隔 6 月带来 109 项新特性
  13. 10款让你心动的 HTML5 CSS3 效果
  14. 图像局部特征(十七)--DenseFeature
  15. iOS底层探索之dyld(上):动态链接器流程分析
  16. MFC动态菜单全攻略
  17. 基于adaboost算法的人脸检测_基于噪声检测的图像去噪算法
  18. php gdiplus,GdiPlus[44]: IGPGraphics (三) 关于文本绘制续 - IGPStringFormat
  19. 正方教务系统对服务器的要求,正方软件教务系统功能介绍.docx
  20. EasyCVR通过GB28181级联到紫光华智综合安防应用平台无法注册成功问题排查

热门文章

  1. 开卷有益:架构整洁之道
  2. NIST测试相关——①Cygwin的安装以及使用指南②Python实现
  3. c++中STL库 简介 及 使用说明
  4. pfc计算机仿真在矿山发展趋势,PFC电路的计算机仿真模拟.pdf
  5. 网站接入第三方微博登录—PHP
  6. RANSAC算法及其代码解析
  7. 借助redis实现分布式定时任务锁
  8. access 表合并
  9. Java 中String构造方法
  10. hfss天线方向图导入matlab,MATLAB在天线方向图中应用和研究.PDF