在设备'emulator-5554'上安装HelloAndroid.apk失败!

16

我看到了关于这个问题的帖子。我知道模拟器需要几分钟来配置和启动。但如果我遇到了特定的错误:

[2011-05-13 08:41:36 - HelloAndroid] ------------------------------
[2011-05-13 08:41:36 - HelloAndroid] Android Launch!
[2011-05-13 08:41:36 - HelloAndroid] adb is running normally.
[2011-05-13 08:41:36 - HelloAndroid] Performing com.santiapps.helloandroid.HelloAndroid activity launch
[2011-05-13 08:41:36 - HelloAndroid] Automatic Target Mode: launching new emulator with compatible AVD 'my_avd'
[2011-05-13 08:41:36 - HelloAndroid] Launching a new emulator with Virtual Device 'my_avd'
[2011-05-13 08:41:49 - Emulator] 2011-05-13 08:41:49.650 emulator[411:903] Warning once: This application, or a library it uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw and move to Quartz.
[2011-05-13 08:41:50 - Emulator] emulator: emulator window was out of view and was recentred
[2011-05-13 08:41:50 - Emulator] 
[2011-05-13 08:41:50 - HelloAndroid] New emulator found: emulator-5554
[2011-05-13 08:41:50 - HelloAndroid] Waiting for HOME ('android.process.acore') to be launched...
[2011-05-13 08:44:33 - HelloAndroid] WARNING: Application does not specify an API level requirement!
[2011-05-13 08:44:33 - HelloAndroid] Device API version is 12 (Android 3.1)
[2011-05-13 08:44:33 - HelloAndroid] HOME is up on device 'emulator-5554'
[2011-05-13 08:44:33 - HelloAndroid] Uploading HelloAndroid.apk onto device 'emulator-5554'
[2011-05-13 08:44:34 - HelloAndroid] Installing HelloAndroid.apk...
[2011-05-13 08:47:20 - HelloAndroid] Failed to install HelloAndroid.apk on device 'emulator-5554!
[2011-05-13 08:47:20 - HelloAndroid] (null)
[2011-05-13 08:47:22 - HelloAndroid] Launch canceled!
[2011-05-13 08:53:55 - HelloAndroid] ------------------------------
[2011-05-13 08:53:55 - HelloAndroid] Android Launch!
[2011-05-13 08:53:55 - HelloAndroid] adb is running normally.
[2011-05-13 08:53:55 - HelloAndroid] Performing com.santiapps.helloandroid.HelloAndroid activity launch
[2011-05-13 08:53:55 - HelloAndroid] Automatic Target Mode: launching new emulator with compatible AVD 'my_avd'
[2011-05-13 08:53:55 - HelloAndroid] Launching a new emulator with Virtual Device 'my_avd'
[2011-05-13 08:54:06 - Emulator] 2011-05-13 08:54:06.327 emulator[460:903] Warning once: This application, or a library it uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw and move to Quartz.
[2011-05-13 08:54:06 - Emulator] emulator: emulator window was out of view and was recentred
[2011-05-13 08:54:06 - Emulator] 
[2011-05-13 08:54:06 - HelloAndroid] New emulator found: emulator-5554
[2011-05-13 08:54:06 - HelloAndroid] Waiting for HOME ('android.process.acore') to be launched...
[2011-05-13 09:08:07 - Emulator] emulator: ERROR: unexpected qemud char. channel close

难道我可能有一个糟糕的配置吗?


感谢您的编辑。我尝试添加代码标签并输入控制台日志,但它只会将第一行放入代码区域,而不是其余部分 :( - marciokoko
9个回答

47

等待模拟器完全设置好之后再测试你的应用程序。此外,我建议保持 AVD 打开状态,这样每次运行应用程序时就不必等待太长时间。

当它显示红色字时,请不要关闭任何东西-将其保留在那里,然后再次按运行按钮即可。非常顺利地解决了问题。


2
这里又启动了一个模拟器实例。几乎让我的机器瘫痪了。但是它做的事情是一样的。显示了安卓的主屏幕,但没有“Hello World”文本。 - tutuca
在我的情况下,每当我遇到EOF错误时,我的模拟器就会从DDMS中消失。在这种情况下,请打开命令行,执行adb kill-server和adb start-server命令。模拟器就会重新出现。 - dell116

8

我曾经遇到同样的问题,但是我尝试改变ADB连接超时时间。我认为它默认为5000毫秒,而我将我的更改为10000毫秒以解决这个问题。如果您在使用Eclipse,可以通过Window->Preferences进入DDMS下的Android选项来进行设置。


3
试试这个:在AVD管理器中创建另一个模拟器,然后尝试在新模拟器中运行您的应用程序。 希望这能对你有所帮助。

好的,我已经做了。这次我将SDK设置为3.0而不是3.1。我该如何告诉它使用新的AVD而不是旧的呢?还是我只需删除旧的AVD即可? - marciokoko
右键单击项目,然后转到运行,您将在其中获得选项,在其中选择运行配置,然后您可以告诉它使用哪个模拟器。 - Lavanya
我去了manifest文件,添加了min3,target7和max12。结果发现有新的模拟器,等待Home键,设备上已显示Home界面,将helloWorld.apk上传到设备,正在安装中,但是2分钟后在模拟器上安装失败并自动取消 :( 此外,我得到了一个巨大的黑色Android模拟器屏幕,我猜它是为平板电脑准备的,我该如何更改它的大小,使它看起来像手机屏幕一样呢? - marciokoko
好的,所以您想更改配置。前往AVD管理器,在创建模拟器时指定名称,然后您可以在名称下方看到WVGA(800)。现在点击它,您将获得一个下拉列表,从中选择HVGA选项,然后创建模拟器即可。 - Lavanya
你可以尝试,但为什么不习惯一些旧版本,这样你就可以更灵活地使用最新版本。 - Lavanya
显示剩余6条评论

1

您可能需要增加设备的 RAM 大小。对于一些 Honeycomb AVD 来说,256 的默认值是不足够的,这也导致了我遇到了同样的问题。请尝试至少使用 512。


0
我注意到当模拟器还没有完全加载时,会出现一个错误,你的屏幕上会闪烁 "android"。换句话说,它还没有准备好安装应用程序。
只需等待,直到你看到模拟器完全准备好,也就是说 "android" 已经消失了,设备屏幕在模拟器上可见。现在运行它,应用程序就会顺利加载。

0

前往窗口和首选项,将默认的ADB连接超时时间(毫秒)增加到500。同时将基本本地调试器端口更改为9000以上,在我的情况下有效。


0

Valen的答案是正确的,尽管知道何时启动应用程序何时不适合启动应用程序也很好。打开设备视角。下次想要运行应用程序时,首先打开“Android虚拟设备管理器”,运行您的AVD,然后单击设备视角,观察您的模拟器进程一个接一个地启动...一旦完成(这不是快速的,您必须等待...但至少您对正在发生的事情有一些了解....进度条对此位置来说是理想的),单击您的项目并作为Android应用程序运行。在设备视角中,将出现一个名为您的应用程序包名称的进程。一旦发生这种情况,您的应用程序就在设备上运行,并且可以进行测试。


0

查看相关文章

这个方法在Linux上对我有效:

  • 运行模拟器(等待模拟器主屏幕加载)
  • 点击窗口 > 打开透视图 > DDMS
  • 在设备面板中,点击下拉菜单 > 重置adb
  • 运行项目

0

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