当意图过滤器推出应用程序的调试(debugging app when launched by int

2019-09-16 10:12发布

我通常按​​在Eclipse中的小“错误”图标调试我的应用程序。

但现在我已经插入这样在我的清单的意图过滤器:

 <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />

而当插入USB电缆的应用程序现在会自动启动的 - 我不能再调试。 没有停在任何断点了。

我将如何调试应用程序通过一个意图推出的时候?

非常感谢!

Answer 1:

我有一台Nexus 6P,在我的开发人员选项有一个“等待调试器”切换。 这为我工作。 您也可以选择你的应用程序的应用程序进行调试。 “选择调试应用”。 当然,你必须已经安装了您的应用程序的可调试版本。 只要做到在Eclipse或Android Studio中的调试启动。



Answer 2:

我就遇到了这个问题,我用下面的代码解决它。 该代码是基于之前的答案。 (感谢您的想法!)

  1. 将这个代码断点以上。
  2. 运行使用调试版本的应用程序,而不是释放。 该步骤把一个可调试APK在设备上。
  3. 终止该应用。
  4. 通过你的意图启动的应用程序。 该应用程序将暂停在此代码,垃圾邮件的日志,“等待调试器”。
  5. 从工作室,单击“连接调试到Android的过程”
  6. 如果一切顺利的话,应用程序应该在您的断点处停止。

等待时间过长,就会ANR!

    //TODO: Remove me.  Debug only!
    while (!Debug.isDebuggerConnected()) {
        try {
            Log.d(TAG, "Waiting for debugger");
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }


Answer 3:

解决的办法是这样的,把延迟在应用程序启动时,由于意图过滤器的推出。 然后,只要应用程序是可见的还有运行调试窗口,附加应用程序和中提琴,你可以调试应用程序像以前一样



文章来源: debugging app when launched by intent filter