【问题标题】:Android application works on emulator and via USB debugging on device, but not on device standaloneAndroid 应用程序可在模拟器上运行并通过设备上的 USB 调试,但不能在设备上独立运行
【发布时间】:2012-01-15 20:23:42
【问题描述】:

我正在编写一个应用程序,它在后台线程中连接到 Web 服务,并在前台活动中显示服务响应。该应用程序通过 USB 调试在模拟器和我的手机上按预期工作。但是,当我通过 Eclipse 导出应用程序,然后将其安装到设备上时,它会崩溃并显示“应用程序没有响应。您要关闭它吗?”通知。

我有两个活动 - 一个带有按钮的主活动,它导航到第二个活动。第二个活动创建一个ServiceIntent,运行它并在服务调用完成时显示结果。

我的主要问题是应用程序在无法实际调试时失败。如果您能在这里指出我的任何方向,我将不胜感激!你以前有过这个问题吗?

提前致谢!

【问题讨论】:

  • 您能看到adb logcat 的输出吗?或者这是否也会干扰重现该错误?我很确定logcat 会向您显示最后 N 个日志条目,因此您无需调试应用程序即可捕获该输出:例如,您可以运行未通过 USB 连接的应用程序,重现崩溃,插上电源,运行adb logcat,你会看到崩溃期间的输出。
  • 是的,这非常有效。我可以看到它在服务调用时冻结。原因是我的代码中有一个android.os.Debug.waitForDebugger();

标签: android debugging android-emulator usb


【解决方案1】:

我发现了问题 - 它是服务的 onCreate() 内的 android.os.Debug.waitForDebugger();。它使应用程序在设备上独立冻结,但在 USB 调试时完美运行。感谢spacemanaki的帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    • 2016-09-02
    相关资源
    最近更新 更多