68

我是安卓新手。当我在 Eclipse 中运行我的 android 应用程序时,我在控制台中收到这些消息:

[2011-03-08 12:57:35 - HelloWorld] ------------------------------
[2011-03-08 12:57:35 - HelloWorld] Android Launch!
[2011-03-08 12:57:35 - HelloWorld] adb is running normally.
[2011-03-08 12:57:35 - HelloWorld] Performing com.oreilly.helloworld.HelloWorldActivity activity launch
[2011-03-08 12:57:35 - HelloWorld] Automatic Target Mode: Preferred AVD 'MY_AVD' is not available. Launching new emulator.
[2011-03-08 12:57:35 - HelloWorld] Launching a new emulator with Virtual Device 'MY_AVD'
[2011-03-08 12:57:39 - HelloWorld] New emulator found: emulator-5554
[2011-03-08 12:57:39 - HelloWorld] Waiting for HOME ('android.process.acore') to be launched...
[2011-03-08 13:00:14 - HelloWorld] WARNING: Application does not specify an API level requirement!
[2011-03-08 13:00:14 - HelloWorld] Device API version is 11 (Android 3.0)
[2011-03-08 13:00:14 - HelloWorld] HOME is up on device 'emulator-5554'
[2011-03-08 13:00:14 - HelloWorld] Uploading HelloWorld.apk onto device 'emulator-5554'
[2011-03-08 13:00:14 - HelloWorld] Installing HelloWorld.apk...
[2011-03-08 13:02:22 - HelloWorld] Failed to install HelloWorld.apk on device 'emulator-5554!
[2011-03-08 13:02:22 - HelloWorld] (null)
[2011-03-08 13:02:23 - HelloWorld] Launch canceled!

如何解决这些问题,以便我的应用程序能够启动?

4

22 回答 22

103

尝试更改 ADB 连接超时。我认为它默认为 5000 毫秒,我将我的更改为 10000 毫秒以摆脱这个问题。如果您在 Eclipse 中,您可以通过 Window -> Preferences 执行此操作,然后它位于 Android 下的 DDMS 中。

如此处所述:Android 错误:无法在设备上安装 *.apk *:超时

于 2011-11-28T09:09:09.680 回答
9

重新启动设备对我有用。使用 adb install 可以安装 apk,但是在 eclipse 中调试时每次启动应用程序时都使用它很烦人。

于 2011-05-25T08:16:56.777 回答
8

我不时得到这个,但它通常与模拟器启动缓慢有关。在重试之间不关闭模拟器再试一次。如果仍然失败,请发布客户端日志(logcat)。

另一个原因可能是在后台运行的幽灵 Eclipse 进程仍然绑定到调试端口。关闭 Eclipse,查看进程列表,看看是否还有 Eclipse 正在运行。杀死所有这些并再次重新启动 Eclipse。

于 2011-03-08T08:19:02.270 回答
4

如果您在 Android 模拟器上运行它,您不想在运行之间关闭它。系统将尝试加载应用程序,但由于模拟器启动需要多长时间,它会超时。您可以通过转到 Window -> Preferences -> Android -> DDMS 并增加 ADB 超时(默认为 5000 毫秒)来增加 ADB 时间来解决此问题,或者让模拟器保持打开状态并在模拟器启动并运行后运行它.

我个人建议让模拟器保持打开状态,因为它在运行后会相对快速地加载应用程序,但这可能会消耗系统。做任何对你更有帮助的事情。

于 2011-07-07T19:19:57.280 回答
4

您可能要考虑的其他事情是通过擦除用户数据来硬重置您的模拟器。

为了做到这一点,你: - 在包资源管理器中右键单击您的项目名称 - 转到“运行方式”然后“运行配置” - 在“运行配置”窗口中单击“目标”选项卡 - 然后勾选您选择的名称模拟器 - 勾选“擦除用户数据”,点击应用

下次启动模拟器时,它应该会提示您询问是否真的要擦除数据。单击是,希望它可以帮助您安装该应用程序。

于 2012-04-18T00:32:46.020 回答
3

我遇到了同样的问题,并通过将 Android SDK 文件夹工具平台工具的路径添加到系统 PATH 变量然后重新启动设备来解决它。

于 2011-06-07T10:46:45.337 回答
2

我遇到了同样的问题并尝试增加 ADB 连接超时......没有用。

我尝试将“android-sdk/tools”和“android-sdk/platform-tools”放在 PATH 变量中......没有效果。

我尝试重新启动 Eclipse 并让 AVD 在运行前启动。同样的问题。

有时我可以通过关闭和重新打开项目的组合来使其工作,然后清理和重建项目。它并不总是有效,但由于我上次没有重新启动 AVD,我认为问题出在 Eclipse 本身。您可以尝试删除项目“bin”目录中的所有内容,然后清理和重建。可能是一些临时或中间文件没有被正确删除。我必须做的另一件事是删除我的 AVD。它没有正确删除,我不得不进去手动删除 AVD 的子文件夹,然后重新创建 AVD。这些的一些组合可以暂时解决问题。希望有帮助。

于 2012-01-14T12:44:32.977 回答
2

@Bolton 的回答对我有用。一些细节...

几周前我拿到了手机。我立即尝试了 HelloAndroid 示例应用程序(在安装了 req'd 软件等之后)。该应用程序可以在模拟器和手机上运行——马上!

不久之后,我将手机植根,但没有刷入任何 rom 或内核。直到昨天我才在模拟器上进行试验(编写一个简单的记事本应用程序)。当我尝试在手机上调试应用程序时,以下是我观察到的结果:

  1. Eclipse 控制台报告“...无法在设备上安装...(null)”消息。但

  2. HelloAndroid 应用程序确实被推送到手机上!(它出现在应用程序抽屉中,我能够启动它。)

  3. 它根本不会从 Eclipse 运行在手机上启动。

昨晚我在这里和其他地方搜索(包括这个线程)没有运气。最后,我重新启动了我的手机——我从未尝试过(doh!),因为我认为这不会有什么不同——然后应用程序从 Eclipse 启动!

仍然不知道原因,但如果我弄清楚了,我会回到这里。

于 2011-06-09T18:10:29.657 回答
2

只需尝试以下步骤,

  1. 在开始运行应用程序之前转到主屏幕。
  2. 无需每次都卸载。只需正确卸载您的应用程序一次。

    转到设置 -> 管理应用程序 -> 单击菜单 -> 过滤器 -> 第三方应用程序。检查您的应用程序是否存在。

  3. 修改您的应用程序后,只需保存它。右键单击您的项目并选择“作为 Android 应用程序运行”。
  4. 注意:再一次,在运行您的应用程序之前检查您的模拟器是否显示主屏幕。

进入主屏幕:从 Eclipse 进入菜单:window->android virtual device->start

于 2011-05-13T10:18:59.507 回答
2

如果拔出设备并重新插入不起作用,请尝试将上传超时增加到非常大的值,例如 20000 毫秒。它位于 Window → Preferences → Android → DDMS → “ADB connection time out (ms)”。

于 2013-04-23T08:18:43.563 回答
2

我有同样的问题:无法在设备'xxxxxxxxx'上安装test.apk:null

我尝试重新启动手机,重新启动 Eclipse,但什么也没有!

然后,我从 Eclipse 工作区中删除该项目,并再次导入。(文件、导入、现有项目到工作区)。我不知道到底是什么问题,但现在工作正常。

于 2011-07-09T09:04:36.230 回答
1

我一次又一次地面临这个问题。绕过了很多论坛,但找不到该问题的合乎逻辑的解决方案。

我曾经收到此错误消息,. . . 将 test.apk 上传到设备“emulator-5554”上无法在设备“emulator-5554”上安装 test.apk:超时启动已取消!

当模拟器启动并且应用程序的部署需要一些大量时间并且在此之前模拟器超时时会引发此错误。

解决此问题的一个简单方法是在发生此问题时保持模拟器打开,*只需再次运行应用程序。这只会将应用程序部署到已经启动的模拟器 * 上。在此运行期间消耗的时间不多,因为在应用程序部署期间的主要部分时间是因为模拟器启动缓慢。

希望这可以帮助!

于 2011-10-29T06:32:20.500 回答
1

我已经导入了一个现有项目并开始运行......我也面临同样的问题(警告:应用程序未指定 API 设备 API 版本为 11(Android 3.0))。在我所有尝试解决该问题后都失败了,我只是在其他包下创建了新项目以保持相同的名称,并手动复制了以前导入项目的所有文件内容并再次开始运行......令我惊讶的是它在我的第一次成功执行尝试...我认为问题是由于导入时版本缺乏兼容性...我希望它对少数人有帮助...

于 2011-08-18T06:59:43.633 回答
1

至于我,我遇到了同样的问题,它有助于增加 SD 卷和最大 VM 应用程序堆大小。(Android SDK 和 AVD 管理器 - 虚拟设备 - 编辑)有趣的是,SD 和堆返回到以前的值也是可以的。这意味着,仿真器参数的任何更改及其重建就足够了。(简单重启无济于事)

于 2011-05-25T16:00:45.417 回答
0

我的设备遇到了同样的错误。
首先确保您没有将调试 apk 上传到已安装相同 apk 但使用发布证书签名的设备。在这种情况下,您必须先从设备上卸载它。
在其他情况下,我的解决方案是重新启动所有内容:

  1. 重启设备
  2. pskill 模拟器-arm.exe
  3. pskill eclipse.exe
  4. pskill adb.exe

之后,设备、adb 和 eclipse 正在工作。

于 2012-10-31T15:00:35.260 回答
0

好的,这种方法只有在您连接到真实设备而不是 Android 模拟器时才有用。

当设备的 USB 调试模式出现问题时,重置 DDMS ADB 连接超时不会很好地用于真实设备。

因此,禁用和重新启用 USB 调试模式似乎可以通过在设备上创建新的 ADB 会话来解决问题。

于 2013-10-24T05:01:27.833 回答
0

当它显示红色文字 - 错误时,不要关闭模拟器 - 保持原样并再次运行应用程序。

于 2013-02-05T12:52:31.337 回答
0

季超说的对我总是有用的。

通常,当我使用 Eclipse 时看到此错误时,我会关闭并重新打开程序。然后,我将从目标手机中卸载应用程序。这有时会解决问题,但并非总是如此。

接下来我将打开命令终端并进入 android-sdk 然后运行:

./adb install <AppName>.apk

这与通过 Eclipse 运行的功能相同,但它会给您一个错误消息。

(10 次中有 9 次只是说“INSTALL_ALREADY_EXISTS”,然后我再次从目标手机上卸载应用程序,然后运行 ​​adb,我工作正常。)

于 2011-03-14T16:50:59.367 回答
0

重新启动 ADT 或尝试更改 ADB 连接超时。我认为它默认为 5000 毫秒,我将我的更改为 10000 毫秒以摆脱这个问题。如果您在 Eclipse 中,您可以通过 Window -> Preferences 执行此操作,然后它位于 Android 下的 DDMS 中。

于 2013-08-29T11:24:47.850 回答
0

去设置-安全验证应用程序,如果选中,更改为未选中状态,然后更改为选中状态

于 2014-02-27T09:17:03.753 回答
0

我遇到了同样的错误。

即使它说,我也只是让 AVD 运行"Failed to install *.apk on device-emulator-5554"。之后它会自动加载项目。

我认为该错误是由于 AVD 启动缓慢所致。

于 2012-06-27T04:20:48.137 回答
0

1) 从此目录 project/build/outputs/apk 中删除 apk

2)如果您使用 genymotion 模拟器重新启动 genymotion

3)制作项目并重建项目

4) 再次运行

于 2017-01-08T07:06:15.440 回答