启用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问题,所以我恢复了根源,它仍然给我同样的问题。我也尝试用Eclipse清理项目,重新启动所有内容并删除我的.android文件夹。我完全不知所措。
有没有人知道可能会发生什么?
编辑:如果我通过电子邮件发送给自己并通过gmail应用程序安装它,该应用程序也会安装得很好。答案 0 :(得分: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