2012-03-12 65 views
-1

我正在开发的应用程序正常运行在设备上,因为我想要,但是它不会在Android模拟器上运行,我无法通过分析LogCat输出来得到问题。所以我应该继续在真实设备上测试它还是应该在模拟器上解决这个问题是我的第一个目的?谢谢。哪一个应该考虑到,Android模拟器或设备?

编辑:logcat的输出:http://pastebin.com/HCei0LVp

+0

取决于您的应用程序的目标。检查android设备和模拟器的android版本是否不匹配。我可以尝试帮助调试问题。 – 2012-03-12 16:47:44

+0

我对2.3.3版本的构建和设备也是2.3.6版本 – NotCamelCase 2012-03-12 16:51:03

+0

什么是模拟器的版本(模拟器版本不一定与您的应用程序的版本相同)。 – 2012-03-12 16:53:01

回答

1

那么,模拟器可能有一些缺陷,但你不应该只是解雇它。仿真器的测试远远超过您的应用程序,所以客观上它更有可能是代码中的错误比仿真器中的错误。

您的代码中存在争用条件的可能性很大,这使得它在某些特定条件下工作并在其他条件下崩溃。这样它可以在您正在测试的设备上正常工作,但可能会在所有其他类型的设备上失败。

+0

我已经通过创建所有新的模拟器测试了几天,但他们都没有按照我的想法工作,而1天的Android设备刚刚运行它。这就是让我困惑的主要原因。 – NotCamelCase 2012-03-12 16:58:31

1

我会尝试修复它,因为如果它不是模拟器工作,所以它有可能在其他设备上出现错误...

1

很多在那里的Android设备。只是因为你的应用程序运行在一个并不意味着它会运行。一般来说,如果它不能在模拟器上运行,你会遇到各种设备问题。

Logcat是允许您诊断和调试应用程序的许多工具之一。你是否试过简单地通过调试器?检查堆栈跟踪是否崩溃?

发布您的具体问题,你可能会在这里得到一些帮助。

1

某些应用程序不会在模拟器上运行100%,例如,如果它使用加速度计。如果它不运行的原因是因为它使用了模拟器不支持的硬件功能,那么我认为使用实际设备进行测试是完全正确的。

如果它在仿真器上没有运行的原因是因为它崩溃或类似的东西,那么你应该考虑尝试修复它在仿真器上。您将不可避免地遇到问题(使用不同的设备或操作系统版本)。

1

您应该让它在设备上工作,因为您可能希望用户在您的设备中安装您的应用。

但是,仅仅因为它适用于您的设备,并不意味着它可以在所有设备上运行。更重要的是,如果它不能在你的模拟器上工作,你应该检查它为什么不能在模拟器中工作。