无法通过Eclipse在Android设备上安装APK

4
我之前开始使用Phonegap和Eclipse开发一个小型的Android应用程序,使用的是Android 2.3.3 SDK,并在我的HTC Sensation手机上运行所有构建都很顺利。今天我决定对我的手机进行root并安装ICS rom(如果有影响则为Android Revolution 5.0.2),这也成功了。我下载了4.0和4.0.3 SDK,同时更新了ADT,但是我似乎无法再构建我的设备了。LogCat给了我以下警告:
12-26 18:12:24.251: W/asset(17419): Asset path /data/local/tmp/myapp.apk is neither a directory nor file (type=0).
12-26 18:12:24.251: W/DefContainer(17419): Failed to parse package
12-26 18:12:24.251: W/ActivityManager(11546): No content provider found for permission revoke: file:///data/local/tmp/myapp.apk

实际上,我可以在设备上看到 /data 目录,但是无法看到 /data/local/ 目录。有没有人遇到过类似的情况?
4个回答

8
安装目录权限出现问题。/data/local需要对其他人具有写和执行权限,这样adb包才能正确安装。

谢谢你找到这个,这个问题已经困扰我好几天了! - Josh
2
我不是要重提一个旧问题,但如果您还记得,能否发布您解决这个问题所做的事情?我遇到了与您完全相同的困难,除了当我运行chmod o=wx data/local时,我只收到一条消息,上面写着“错误模式”。这是什么意思?再次抱歉提出一个旧问题。 - user766650
@roboguy12 “Bad mode.” 意味着文件的权限未正确设置,有些版本的 chmod 不理解 o+rw 表示法。所有的 chmod 都能够理解八进制表示法,尝试运行 chmod 777 /data/local - lambda
3
据我所知,/data/local只能在已经取得Root权限的设备上访问。我在一个未取得Root权限的设备上遇到了同样的问题。 - Thuita Wachira

5

虽然平淡无奇,但是要确保在Eclipse中检查Android工具更新。这正是我的问题所在。


同样地,如果使用 tools/android,请安装最新版本的 EVERYTHING,并一次性完成。 - Ciro Santilli OurBigBook.com

4

Do an:

adb uninstall <package name>

然后按照正常方式重新安装您的应用程序。


感谢您的回答。我已经手动安装了我的apk之后,根据您的建议使用adb卸载了它。卸载成功了,但是使用adb install仍然提示:Failure [INSTALL_FAILED_INVALID_URI]。 - sebotron
好的,我似乎已经修复了它,但我不确定这是否是正确的方法。/data/local/tmp文件夹确实存在,但权限设置为660。我给了“其他人”写入权限,然后adb就可以正常安装了,我可以在编译后直接从eclipse运行我的应用程序。 - sebotron

0

看起来apk名称不能包含一些符号,如"$"或"{}"。一旦我从apk名称中删除了这些字符,apk就可以在设备上成功安装。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接