【问题标题】:Permission denied causing "Installation failed due to invalid APK file"权限被拒绝导致“由于 APK 文件无效而导致安装失败”
【发布时间】:2012-12-23 21:32:01
【问题描述】:

当我尝试在运行 4.2.1 的 Nexus 4 上运行我的应用程序时,我在 Eclipse 中不断收到此错误:

[2012-12-22 19:30:51 - Rhiokai] Installation failed due to invalid APK file!
[2012-12-22 19:30:51 - Rhiokai] Please check logcat output for more details.
[2012-12-22 19:30:51 - Rhiokai] Launch canceled!

我厌倦了通过 adb 推送和安装,但它也不起作用。我发现这是因为 Logcat 中的这条消息:

12-22 19:37:29.326: W/zipro(7371): Unable to open zip '/data/local/tmp/Rhiokai.apk': Permission denied
12-22 19:37:29.326: D/asset(7371): failed to open Zip archive '/data/local/tmp/Rhiokai.apk'

关于如何解决此问题的任何想法?

【问题讨论】:

  • 您使用的是什么操作系统?也许您的文件夹缺少适当的权限?

标签: java android adb


【解决方案1】:

我在 root 手机后开始收到此错误。

“权限被拒绝”的原因是上传到/data/local/tmp的apk文件有-rw-----权限并且归root所有,安装程序显然没有权限读取任何此类文件。

我从未找到解决方案,但有一个让我满意的解决方法。我只是将 tmp 目录移动/符号链接到 SD 卡。由于 SD 卡被格式化为 FAT,它没有所有者/权限,并且在那里创建的所有文件始终可供所有人读取。

# cd /data/local
# mv tmp tmp-old # (or simply rm -rf tmp)
# mkdir /mnt/sdcard/tmp
# ln -s /mnt/sdcard/tmp ./tmp

【讨论】:

    【解决方案2】:

    令人讨厌的是,关掉手机然后重新打开的古老技巧又奏效了

    【讨论】:

      【解决方案3】:

      如果您的设备上已经有应用程序的签名版本且具有相同的包名称,您可能需要在重新安装之前将其卸载(除非您想再次对其进行签名,然后将该签名的应用程序上传到设备)。

      【讨论】:

      • 它不在设备上。我也遇到了其他 APK 的问题。会不会是 ROM 的问题?
      • Android 喜欢在 C:\Documents and Settings\> 下保留一个 .android 文件夹(在 XP 上就是这样)。尝试删除它,因为它每隔一段时间就会过期。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-21
      • 2014-09-05
      • 1970-01-01
      • 2013-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多