Android Emulator 不会运行从 Eclipse 启动的应用程序
Posted
技术标签:
【中文标题】Android Emulator 不会运行从 Eclipse 启动的应用程序【英文标题】:Android Emulator won't run application started from eclipse 【发布时间】:2011-02-17 03:33:03 【问题描述】:我遵循了 Google 的 android 开发者指南中的“Hello World”示例。当我尝试在 SDK 模拟器中运行应用程序时,没有任何反应。模拟器启动良好,但之后没有任何反应。我什至看不到应用托盘中的应用。
我正在使用安装了 Android 插件的 Eclipse。
【问题讨论】:
什么也没发生是什么意思? 大家好...我从今天晚上刚开始 android 开发,遇到了和你们讨论的同样的问题,我在 windows 2003 server R2 上运行,请给我一些灯关于这个问题... 注意,我使用的是所有最新版本的 Android SDK 2.3.1、Eclipse 3.6 Classic、Java 6.1 使用 eclipse.exe -clean 启动 eclipse 【参考方案1】:遇到了同样的问题,控制台日志在之后停止:
使用虚拟设备启动新模拟器
并且模拟器从未显示 HelloAndroid 应用程序。我终于想通了! 在 Eclipse 中转到
运行 --> 运行配置
然后将您的应用程序(例如 HelloAndroid)的启动操作从“启动默认活动”更改为“启动:”,然后从下拉菜单中选择您的应用程序。这对我有用。
HTH, 斯文
【讨论】:
这并没有完全解决我的问题,但这是朝着正确方向迈出的一步。我试图让一个示例应用程序运行,但我发现它没有列出任何活动,所以显然也没有默认值。 这对我有帮助。这是为什么呢? 这正是我的问题所在。非常感谢。【参考方案2】:这里也一样;模拟器加载正常,但没有安装apk。问题仅出在模拟器上。如果物理连接设备并打开 USB 调试,则一切正常。
NB 这突然开始发生,没有明显的原因。过去一切正常。
我已尝试卸载并重新安装 ADT 插件,并且已将 Android SDK 和 AVD 管理器更新到最新版本。 (工具修订版 7)但问题仍然存在。
Eclipse:Helios 服务版本 1 内部版本号:20100917-0705 在 Windows XP SP2 上运行
正如其他人发布的那样,控制台日志显示
[2010-10-14 11:39:33 - uad-MediaPlayerExample] ------------------------------
[2010-10-14 11:39:33 - uad-MediaPlayerExample] Android Launch!
[2010-10-14 11:39:33 - uad-MediaPlayerExample] adb is running normally.
[2010-10-14 11:39:33 - uad-MediaPlayerExample] Performing com.msi.manning.chapter10.MediaPlayerExample.MediaPlayerActvity activity launch
[2010-10-14 11:39:33 - uad-MediaPlayerExample] Automatic Target Mode: launching new emulator with compatible AVD '1.6-hvga'
[2010-10-14 11:39:33 - uad-MediaPlayerExample] Launching a new emulator with Virtual Device '1.6-hvga'
LogCat 保持为空/空白。
如果我尝试重新运行同一个应用程序,控制台会显示:
[2010-10-14 11:39:33 - Emulator] emulator: ERROR: the user data image is used by another emulator. aborting
可能的答案??? 一种解决方案似乎是在 Windows 任务管理器中终止 adb.exe 进程(而模拟器仍在运行)。
(来自http://vikashazrati.wordpress.com/2008/01/01/quicktip-android-does-not-load-my-application-in-the-emulator/)
控制台突然显示很多错误:
[2010-10-14 12:12:00 - DeviceMonitor]Adb connection Error:An existing connection was forcibly closed by the remote host
[2010-10-14 12:12:01 - DeviceMonitor]Sending Tracking request failed!
[2010-10-14 12:12:01 - DeviceMonitor]Adb connection Error:An existing connection was forcibly closed by the remote host
[2010-10-14 12:12:02 - DeviceMonitor]Sending Tracking request failed!
[2010-10-14 12:12:02 - DeviceMonitor]Adb connection Error:An existing connection was forcibly closed by the remote host
[2010-10-14 12:12:03 - DeviceMonitor]Sending Tracking request failed!
[2010-10-14 12:12:03 - DeviceMonitor]Adb connection Error:An existing connection was forcibly closed by the remote host
[2010-10-14 12:12:04 - DeviceMonitor]Sending Tracking request failed!
[2010-10-14 12:12:04 - DeviceMonitor]Adb connection Error:An existing connection was forcibly closed by the remote host
[2010-10-14 12:12:05 - DeviceMonitor]Sending Tracking request failed!
[2010-10-14 12:12:05 - DeviceMonitor]Adb connection Error:An existing connection was forcibly closed by the remote host
[2010-10-14 12:12:06 - DeviceMonitor]Sending Tracking request failed!
[2010-10-14 12:12:06 - DeviceMonitor]Adb connection Error:An existing connection was forcibly closed by the remote host
但应用程序在模拟器中启动。 !!!
(不出所料,LogCat 也突然开始显示大量消息)
一切正常 - 即您可以处理您的代码并在同一个模拟器中重新运行应用程序,然后它会按预期重新安装...
但是如果您关闭模拟器,您会看到以下控制台错误:
[2010-10-14 12:15:05 - DeviceMonitor]Sending jdwp tracking request failed!
同样的问题再次出现 - 出现了一个新的模拟器,但没有安装 apk。所以你需要回到 Windows 任务管理器,再次杀死 adb.exe 进程。
NB 我发现除非我重新启动 Eclipse,否则 adb.exe 不会重新出现在任务管理器中,因此关闭模拟器后您必须重新启动 Eclipse,尝试运行(无法显示应用程序)然后返回任务再次列出 adb.exe 的管理器并终止应用程序启动的进程。
如果有人可以对此提供解释并永久修复,那就太好了...
【讨论】:
谢谢!杀死 adb 的另一种方法是在包含 adb 的 sdk 文件夹中的命令行中调用 adb kill-server 然后 adb start-server。在我的情况下 C:\Program Files (x86)\Android\android-sdk\platform-tools @herschel:这些命令绝对比重启 Eclipse 好 .. 谢谢【参考方案3】:我也有类似的问题。我建议以下解决方法:
-
关闭 eclipse,在任务管理器中,杀死所有 adb 和 emulator* 进程。
启动 eclipse,运行您的应用程序,等待模拟器启动。如果你有问题,你的应用程序将无法启动,会有一个裸模拟器。
在eclipse中,选择Window->Open Perspective->Other->DDMS。切换到 DDMS 视角。如果您遇到问题,设备列表将为空。
在“设备”选项卡的下拉框中,选择“重置 adb”。很快,模拟器必须出现在设备列表中。
然后,切换回您的 Java 视角并运行您的应用程序。在接下来的会话中,一切都必须正常工作。
【讨论】:
【参考方案4】:实际上,如果您使用的是 Windows,问题可能是您的 Windows 中的用户帐户控制阻止 Eclipse 在模拟器中加载 apk(Eclipse 无权这样做)。
要关闭用户帐户控制,请转到控制面板,单击用户帐户和家庭安全,然后单击用户帐户。在那里,单击“打开或关闭用户帐户控制”选项。
【讨论】:
谢谢,这就是我的解决方案。但我放松了目录安全性。 可能为时已晚,但您能否以管理员身份运行 Eclipse 以避免该问题?【参考方案5】:根据您的计算机,加载模拟器和应用程序可能需要几分钟时间。打开 Logcat 视图以查看加载进度。
【讨论】:
我使用的是 AMD Phenom II 四核 CPU 和 4 GB RAM,因此计算机性能应该不是问题。在哪里可以找到 logcat 视图? 窗口 -> 显示视图 -> 其他 -> Android -> LogCat【参考方案6】:同样的问题。从任务管理器中杀死 adb 没有帮助。还尝试使用 android create avd --target 2 --name my_avd --force 重新启动 AVD,不好。在 Eclipse 中尝试了不同的启动方法,nada。
最终有帮助的是:我启动(从开始菜单,而不是命令行)Android SDK 工具 > SDK 管理器,在虚拟设备下找到 my_avd,然后简单地单击开始...按钮。就这样 - 模拟器启动了,我从 Eclipse 中运行,它立即在模拟器上显示了应用程序。
【讨论】:
【参考方案7】:一种解决方案是进入 android sdk/tools 目录并为 Dalvik Debug Monitor 启动 ddms.bat,然后选择 Actions->Reset adb。这似乎解决了问题
【讨论】:
【参考方案8】:在我的情况下,问题的发生是因为一个简单的事情:我没有选择我想要运行的项目。在解决方案文件夹中单击它,然后按运行并享受。希望它会对某人有所帮助。
【讨论】:
【参考方案9】:Android 模拟器大约需要 1 到 2 分钟才能加载。检查 Eclipse IDE 中的控制台选项卡,以评估加载模拟器和在模拟器中安装应用程序的进度。
【讨论】:
[2010-05-08 14:47:35 - de.vogella.android.first] Android 发布! [2010-05-08 14:47:35 - de.vogella.android.first] adb 运行正常。 [2010-05-08 14:47:35 - de.vogella.android.first] 执行 de.vogella.android.first.Hello 活动启动 [2010-05-08 14:47:35 - de.vogella.android。第一] 自动目标模式:首选 AVD 'TestDevice' 不可用。启动新的模拟器。 [2010-05-08 14:47:35 - de.vogella.android.first] 使用虚拟设备“TestDevice”启动新模拟器 [2010-05-08 14:57:45 - Emulator] 模拟器:警告:打开音频输入失败 模拟器会在没有警告的情况下加载。您可以在问题中发布 logcat 输出吗?这将更好地了解正在发生的事情。显示 logcat:Window -> Show View -> Other -> Android -> Logcat【参考方案10】:我曾经经常面对这个问题。有解决方法,
从任务管理器中结束“adb.exe”进程,然后重试。
它应该工作。 而不是从 Eclipse 运行,我使用项目目录中的以下批处理文件来安装和卸载 apk。这些效果很好。
Install.bat
cd bin
adb install *.apk
卸载.bat
adb uninstall this.is.package.name
【讨论】:
实际上在结束进程 adb.exe 后,您必须使用上述命令从命令行安装应用程序。【参考方案11】:要遵循的步骤:
-
转到命令提示符
输入 adb kill-server
输入
现在应该可以正常工作了
【讨论】:
以上是关于Android Emulator 不会运行从 Eclipse 启动的应用程序的主要内容,如果未能解决你的问题,请参考以下文章
onLocationChanged 永远不会被调用 Emulator
Android Emulator 环回 IIS Express 不起作用,但可以与 Cassini 一起使用
markdown 在没有Android Studio的情况下运行Android Emulator