2010-10-28 76 views
2

我有一个令人不安的问题,测试一些代码和Android应用程序。我的应用程序有两个部分,用户更改某些设置的活动以及响应SMS消息的广播接收器,两者都位于同一个包中。Android模拟器调试,代码不会更新

问题出在这里,我首先实现了一些简单的代码来测试广播接收器和活动,并且两者都正常工作。但是,当我试图改进代码时,我注意到模拟器没有收到我的任何更改。事件竟然从模拟器中卸载应用程序,然后再试一次,没有运气。然后我向接收器添加了一些额外的Toast弹出窗口,没有任何东西,仍旧运行旧代码。我知道它运行的是旧代码,因为它使用不再处于当前代码中的字符串常量发送SMS,所以它不可能用该值进行响应。

下面是让我迷惑的踢球手。为了好玩,我改变了我的活动。来自Eclipse的项目,这个变化出现了!试图再次测试接收器代码,运行旧的代码,甚至不存在了!

世界上的一半如何更新包装,另一半不是? 任何人都可以帮助我,因为我即将失去理智。

+1

别的东西必须继续。你可以尝试创建一个新的,干净的模拟器图像并在那里运行你的应用程序? – elevine 2010-10-28 02:10:57

+0

是的,实际上创建一个新的模拟器确实奏效。对于发生的事情仍然感到困惑和好奇,但在这一点上,我只是很高兴再次工作。谢谢。 – Kratz 2010-10-28 03:20:54

回答

0

我不能确定发生了什么,但创建一个新的模拟器图像似乎解决了这个问题。

-1

我也有这个问题。这主要发生在输入错误代码时。奇怪的是,如果我回到原始代码,Eclipse不会恢复到原始代码。有一件似乎有用的事情是临时删除文件的内容,保存和重建,然后将内容输入到文件中,保存并重建。

如何在这样的环境中进行调试?

+1

如果您有任何疑问,请再发一个问题。这是为了解决这个具体问题。 – mauris 2011-11-12 11:51:31

0

我不知道它为什么会发生,但这是我一直以来的问题。 我通常做的是

  1. 关闭模拟器
  2. 关闭Eclipse
  3. 重新打开Eclipse的
  4. 清洁项目(在Eclipse中,选择项目 - >清除... - >清除所有项目)
  5. 重新运行模拟器

恼人的地狱,但似乎为我工作。

3

我有类似的问题。从另一个项目导入的类所做的更改没有被eclipse拾取,但是对当前的android项目中的类所做的更改是。

对当前的android项目进行更改(插入一个空行并删除它)似乎让eclipse拿起所做的所有更改并将该应用上传到模拟器。

1

我也有这个问题,现在我找到了一个工作解决方案。只要按照下列步骤操作:

  1. 正常运行项目。
  2. 当模拟器启动,运行您的项目再次(不要关闭第一个仿真器)

然后将更新的应用程序将被上传到模拟器