应用更新时apk包解析错误

当在6.0及以下系统进行应用内升级时,出现解析包错误,而7.0及以上系统正常。问题源于下载的apk存放在getCacheDir().getAbsolutePath(),缺乏权限。解决方案包括在安装时赋予文件权限或改存入SD卡。通过环境判断,7.0以上系统使用新权限机制避免此问题。
摘要由CSDN通过智能技术生成
bug场景:

应用内升级下载apk完成后安装,6.0及以下的手机会报解析包错误,7.0及以上的手机是没问题的。开始以为是v1,v2签名问题导致的,但是我用浏览器下载下来的安装包是能够正确安装的。排除v1,v2签名的问题。研究半天终于发现问题所在:

原来我把下载的apk文件放在了getCacheDir().getAbsolutePath()的目录下,而不是sd中,这就导致apk文件没有相应的权限,不能被正确解析。

参考:解决APK下载到Cache目录安装提示“解析安装包失败”的问题

解决方案1:

调用安装的时候给文件授权:

public static void install(Context context, File apkFile) {
    try {
        Intent intent = new Intent();
        intent.setAction(Intent.A
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
APK编辑器是八神智能天下编程组成员罗茂才出品的一个可以编辑apk文件的软件。它括对apk文件的解、打、签名、汉化、应用共存制作、文字翻译等等操作!而本软件也是手机端首个,Android汉化软件,让你在没有电脑的情况下,在任何地点,任何间都能汉化修改Android软件。 - 支持直接编辑APK中的ARSC、dex、XML等资源文件,实现软件的汉化和修改; - 保存APK文件自动签名; - 支持对apk文件直接解和打以及直接签名APK安装(长按) - Google翻译(长按需要翻译的文字后弹出翻译选项) - 软件游戏共存制作功能(需注册,长按需要制作共存的apk文件后弹出选项) - 强大的词典记忆功能,为你的汉化积累丰富的数据库。支持导入词典汉化功能,带词典管理功能,词典的翻译条目可自由编辑(长按词典文件); - 带文件管理器功能,支持常用的复制、重命名、删除等功能;支持安装APK文件(长按文件名); - 可以解压、压缩、替换jar/zip/apk/ear/war文件中的单个文件以及整个目录(长按文件或目录)。 - 资源分支选择功能,可方便修改不同分辨率、不同语言、横竖屏等差异化资源; (这里重点说下语言选择功能。现在的安卓有的软件有日、英、韩、法等等很多种语言,如果你只想汉化.arsc文件中的英文而又不想其他语言也显示在屏幕上,就需要这样操作:打开APK编辑器,并打开.arsc文件,然后按“strings-string”到这里,软件自动帮你把英文字符分类出来了,如果你想选其他语言,那么继续点“default”弹出“资源分支”的选框,这候选择你就可选择其他语言了。)">APK编辑器是八神智能天下编程组成员罗茂才出品的一个可以编辑apk文件的软件。它括对apk文件的解、打、签名、汉化、应用共存制作、文字翻译等等操作!而本软件也是手机端首个,Android汉化软件,让你在没有电脑的情? [更多]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值