12

当我尝试通过 Eclipse 将 Android 应用程序安装到设备时,我刚刚开始收到以下错误:

Installation failed due to invalid URI!
Please check logcat output for more details.
Launch canceled!

我还尝试安装bin文件夹中的 APK 和通过 adb 签名的 APK。当我这样做时,我得到一个INSTALL_FAILED_INVALID_URI错误。

我没有改变任何关于我的设置的东西,它曾经可以毫无问题地工作。

有任何想法吗?谢谢!

LogCat 输出:

D/AndroidRuntime(32345): CheckJNI is OFF
D/dalvikvm(32345): Unable to stat classpath element '/system/framework/com.orange.authentication.simcard.jar'
D/AndroidRuntime(32345): Calling main entry com.android.commands.pm.Pm
V/Performance(32111): >>com.android.defcontainer.DefaultContainerService@40d944a8 onCreate
V/Performance(32111): <<com.android.defcontainer.DefaultContainerService@40d944a8 onCreate, 3ms
V/Performance(32111): >>com.android.defcontainer.DefaultContainerService@40d944a8 onBind
V/Performance(32111): <<com.android.defcontainer.DefaultContainerService@40d944a8 onBind, 1ms
W/asset   (32111): Asset path /data/local/tmp/CS2110Project.apk is neither a directory nor file (type=0).
W/DefContainer(32111): Failed to parse package
W/ActivityManager(  744): No content provider found for permission revoke: file:///data/local/tmp/CS2110Project.apk
D/dalvikvm(  744): GC_EXPLICIT freed 1196K, 36% free 20088K/31267K, paused 10ms+14ms
D/AndroidRuntime(32345): Shutting down VM
I/AndroidRuntime(32345): NOTE: attach of thread 'Binder Thread #3' failed
D/dalvikvm(32345): GC_CONCURRENT freed 135K, 72% free 578K/2048K, paused 1ms+1ms
D/dalvikvm(32345): Debugger has detached; object registry had 1 entries
4

13 回答 13

14

对于我来说,它想要完整的路径。

  • pm install joe.apk 失败。
  • pm install ./joe.apk 失败。
  • chmod'ed一切,仍然失败。
  • pm install /data/joe.apk 工作。
于 2017-05-15T01:40:45.990 回答
9

仅作记录:

对我来说,它原来是项目名称中的变音符号 (ä,ü,ö)问题。

我做了以下事情来解决它:

  1. Refactor-> Rename(替换了变音符号)
  2. 做了一个Project->Clean

希望这可以为其他人节省一些时间……花了我一段时间。

于 2013-04-19T09:14:23.093 回答
8

原来是ROM问题。我刷新了一个更新的ROM,现在一切正常。实际上似乎是一个相当普遍的问题。

于 2012-04-16T22:33:05.120 回答
5

对我来说,我植根了我的设备,每次打开手机都会重新更新 android。考虑到这一点,我不得不将 chmod 777 重置为本地目录。因此,这更多的是提醒您检查您的权限,然后是答案,但它可能会对某人有所帮助。

于 2012-06-29T23:11:57.560 回答
5

没有重音或不寻常的字符。我有口音,apk的名称在安装时产生了一个错误,去掉勾号就可以了

于 2013-03-12T22:44:25.013 回答
3

您是否设置了设备以进行调试?如果您还没有,您可能需要转到设置 -> 应用程序并允许未知来源。如果这没有帮助:你的 logcat 输出中有什么?

于 2012-04-13T14:49:58.480 回答
1

在我的设备上是因为 minSdkVersion 低于你的设备 android sdk

于 2015-12-09T03:19:07.413 回答
1

当您执行“adb install -r some_app.apk”时,它会将 pkg 显示为“/data/local/tmp/some_app.apk Success”。如果您在错误的位置提供选项 -r ,它会将 pkg 作为 -r 并给出上述错误。因此,在数据、本地和 tmp 目录的 chmod 之后,检查它是否能够正确解析 pkg。

于 2015-12-30T03:52:25.133 回答
0

我知道这是一个老问题,但它仍然可能对某人有所帮助。

从文本文件安装应用程序列表时,我遇到了同样的问题,因此我可以以编程方式安装它们。我在 Windows 中创建了该文件,然后使用 ADB 将其推送到平板电脑。Windows 在每一行的末尾放置一个回车和换行。

确保每行末尾只有一个换行符(在 *nix 框上创建文件或从 Windows 文件中删除 CR)

于 2014-06-26T19:41:44.910 回答
0

就我而言,这是一个控制台问题。我在 Mac 上使用了“终端”,但它不起作用。当我使用 AndroidStudio 控制台中的构建时,它可以工作。

于 2017-01-12T16:12:51.697 回答
0

你需要跑

readlink -f PATH_of_APK

或者

readlink -e PATH_of_APK

首先获取 pm 命令的合法路径。

例如在我的 termux 上:

$readlink -f /data/data/com.termux/files/home/storage/downloads/

/storage/emulated/0/Download
于 2019-06-18T14:49:04.410 回答
0

重新启动我的设备解决了这个问题

于 2019-11-18T21:00:29.267 回答
0

就我而言,我给出了错误的命令。我想我需要指定设备,所以我在做:

adb install -s X0Y1ZZ23456789XY "G:\com.my.apk"

当我应该做的时候:

adb install "G:\com.my.apk"

问题是:apk 传输得很好,它最后就这样失败了。就像其他人所说的那样,很遗憾你没有从这个工具中得到更好的错误。:-|

于 2020-08-30T20:27:28.830 回答