2012-04-09 33 views
3

我通常通過按下Eclipse中的小「bug」圖標來調試我的應用程序。當通過意圖過濾器啓動時調試應用程序

但現在我已經在我的清單中插入這樣一個意圖過濾器:

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

雖然現在的應用程序啓動時自動USB電纜插入 - 我不能調試它了。在任何斷點處都沒有停止。

如何通過意圖啓動時調試應用程序?

非常感謝!

+0

你必須把這個機器人:可調試=「真」在你menifest應用標籤。 – 2012-04-09 11:36:20

+0

我把它放在我的清單中,但仍然跳過斷點... – user387184 2012-04-09 11:41:00

+0

您是否檢查了設備中的USB調試模式? – 2012-04-09 11:45:58

回答

1

解決方案就是這樣,當應用程序啓動時,由於意圖過濾器的啓動而延遲。然後運行到調試窗口,只要應用程序在那裏可見,附加應用程序進程和中提琴你可以像以前一樣調試應用程序

1

我遇到了這個問題,我用下面的代碼解決了它。該代碼基於以前的答案。 (感謝您的想法!)

  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(); 
     } 
    } 
0

我有一個Nexus 6P,並在我的開發人員選項中有一個「等待調試器」切換。這對我有效。您還必須選擇您的應用程序作爲要調試的應用程序。 「選擇調試應用程序」。當然你必須安裝你的應用程序的可調試版本。只需在Eclipse或Android Studio中執行調試即可。

enter image description here

相關問題