Android:我应该如何响应 Eclipse 中的 "Hot Code Replace Failed"对话框?

标签 android eclipse debugging

当我的 Android 应用程序已经在运行并且我更改了代码时,我得到了“热代码替换失败”对话框。

  1. 如果我希望 Eclipse 在我遇到设备时更新我的​​代码,我想知道正确的响应是什么(终止或断开连接)。

  2. 终止和断开有什么区别?

  3. 另外,我想知道如果我点击“不支持热代码替换时不显示错误”,以后遇到这种情况Eclipse会怎么做?

"Hot Code Replace Failed" dialog

最佳答案

根据所使用的 VM(在本例中为 Dalvik),可以在调试时进行一些代码更改,这将“热部署”或“热替换”。这意味着代码更改将立即在模拟器上生效,您可以测试它们而无需重新部署您的应用程序。这种热重新部署在处理可能需要 10 分钟构建和部署的企业应用程序时更为常用,因此在开发过程中浪费了大量时间。

HotSpot VM(通常在 PC 上使用的 VM)仅允许简单的代码替换,如果您尝试添加/重命名字段成员或方法,则会失败。我不确定 Dalvik VM 提供什么样的支持,但如果您进行更改它不支持,您将看到该对话框。

现在,至于按钮:

  • 继续:接受您所做的更改不会在模拟器中立即生效并继续调试
  • 终止:杀死应用
  • 断开连接:不终止应用程序但结束调试 session (即断开调试器)

如果您选中该框,它将始终继续。

关于Android:我应该如何响应 Eclipse 中的 "Hot Code Replace Failed"对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7450257/

相关文章:

java - Eclipse 命令行参数

c - 此 C 包装器中的段错误

c - 如何使用 gdb 进入 openGL API?

java - 如何使用JGit查找提交距离?

java - Eclipse 无法从 Java 8 流中推断出正确的类型

android - 无法从 Android Studio 以 Debug模式运行应用程序

android - 关于Local notification的几个问题

android - 在 Android Studio 项目中包含 OpenCV 会产生 'Unresolved dependencies' 错误

android - Android项目指南的建议

java - 应用程序打开后 Android 相机预览立即卡住