2

USB 调试已启用,安装非市场应用程序已启用,并且我的设备在 Eclipse 中被正确识别。但是当我尝试在连接手机的情况下运行我的应用程序时,我得到:

[2012-12-26 19:07:38 - TestApp] Installing TestApp.apk...
[2012-12-26 19:07:39 - TestApp] Installation failed due to invalid APK file!
[2012-12-26 19:07:39 - TestApp] Please check logcat output for more details.
[2012-12-26 19:07:39 - TestApp] Launch canceled!

LogCat 显示了这一点:

Unable to open Zip archive 'data/local/tmp/TestApp.apk': Permission Denied
failed to open Zip archive 'data/local/tmp/TestApp.apk'

我用谷歌搜索了一段时间,找不到任何可以作为解决方案的东西,但我只是不知道发生了什么。有人说要启动一个 adb shell 并使用 chmod 777 /data。尝试了它的地狱,但它没有用。其他人说这可能是自定义 ROM 问题,所以我恢复为 root 股票,但它仍然给我同样的问题。我还尝试使用 Eclipse 清理项目,重新启动所有内容并删除我的 .android 文件夹。我完全不知所措。

有谁知道会发生什么?

编辑:如果我将其通过电子邮件发送给自己并通过 gmail 应用程序安装,该应用程序也可以正常安装。

4

1 回答 1

10

https://stackoverflow.com/a/14890187/1155151

这个答案在我的 Galaxy S3 上为我解决了同样的问题

如果您已将手机植根,则可能会出现 data/local/tmp 目录具有 -rw----- 权限并且归 root 拥有且安装程序进程权限不足的问题。创建符号链接绕过了这个问题,因为这个文件夹的权限似乎在某些时候被覆盖了。

# cd /data/local
# mv tmp tmp-old # (or simply rm -rf tmp)
# mkdir /mnt/sdcard/tmp
# ln -s /mnt/sdcard/tmp ./tmp
于 2013-05-12T07:59:09.420 回答