1. 程式人生 > >【Android Studio】Android Monitor無法顯示執行程式問題解決

【Android Studio】Android Monitor無法顯示執行程式問題解決

【難度係數★☆☆☆☆】
Android Studio 的 Monitor 是很好用的一個模組,但是有時候會莫名出現一些問題導致和手機連線不上,比如出現No Debuggable Processes ,又比如Android Studio 無法進入debug除錯模式,今天我們就來彙總一下這些問題的解決方法。

前言

  首先我們得知道,這個Android Monitor到底是個啥,它裡面有兩個選項,一個是logcat,一個是Monitors。其實他們的原理都是用Android SDK中的工具來實現的,logcat是依靠SDK中platform-tools資料夾中的adb程式來執行的,我們開啟命令列,輸入adb logcat也可以打印出和Studio中一樣的內容,具體的命令引數可以輸入adb logcat -help來檢視。當然你得把SDK的路徑配置到環境變數中(如何配置可以搜一下)。
  adb:Android Debug Bridge,Android除錯橋,是連線裝置和電腦上軟體的橋樑,沒有他我們就不能實現Studio和手機的資料交換


   而Monitors是呼叫SDK下的tools資料夾中的Monitor.bat這個程式來實現,我們開啟這個軟體看到的內容就是Studio中看到的。

Monitor找不到手機問題

  第一種可能就是adb程式沒有啟動,我們可以在命令列輸入adb devices 回車,然後會看到連線到手機的列表,如果沒看到,那麼我們可以輸入 adb kill-server 回車,然後adb start-server,回車,來重新啟動adb程式。如果成功會顯示下圖的文字。
開啟成功

  然而有的時候輸入adb start-server會報錯,比如 daemon not running. starting it now on port 5037 ,這個時候一般就是有其他的程式佔用了5037埠,導致adb程式不能啟動,我們的解決方法就是結束那個佔用5037埠的那個程序。
  我們先檢視是哪個程序佔用5037埠,我們可以在 命令列中輸入 netstat -ano ,這裡的netstat是顯示當前網路狀態的命令,-ano則是後面的引數,a n o代表的含義不同,比如-a就是顯示所有的連線。具體引數的含義可以輸入netstat -help來檢視。
  這時我們看到列印了了很多IP地址,然後IP後面是埠號,找到後面有5037的那一行,看到PID(Process ID)的那一列,然後記下這個程序的ID。
  開啟工作管理員,切換到“程序”的選項,然後看有沒有PID這一列,如果沒有我們點選選單欄的 “檢視”->“選擇列”->“將PID勾上”,然後我們找到那個PID,右鍵,結束程序,OK,這時候佔用5037埠的程序就被結束了。
  最後我們再次執行adb start-server ,就可以啟動了,也可以看到Studio已經連線到手機上了。

Monitor找不到程式的問題:No Debuggable Processes

  這個時候手機連線上了,但是依然看不到咱們執行的程式,我們先看看Studio是不是已經開啟了 允許adb整合,在選單欄上有個“Tools”->“Android”->“Enable ADB Integration”這個前面要有個對勾才行,沒有的點選就可以選上了。
  看看這個時候能不能連線上執行的程式,如果不行就先把各大手機助手先關掉,然後在重複上面的操作:“adb kill-server” ->“adb start-server” ,以上的方法可以解決大部分Android Studio 連線不上手機的問題。

Studio不能Debug:Attach Debugger to Android Process無程式列表

  就是說Select a pricess to attach to 下面沒有程式列表,這個先看看有沒有顯示手機名稱,如果沒顯示說明adb沒有連線到手機,這個時候我們用上面的方法即可解決。
  如果有手機名稱,但是沒有程式名稱,那麼就說明到Debugger程式沒有依附到程式上,這個時候要確保程式是執行狀態才可以,可以重新“Run”一下程式到手機上,點選選單欄的“Run”按鈕即可。
  如果還是不行,那麼在確保沒有手機助手執行的情況下(DDMS也不能處在執行中),那麼嘗試重啟adb進行重新連線即可。

  最後,所有解決方法的原理就是讓adb將手機和Studio連線起來,這樣Monitors才能正常的工作,adb的問題一般是沒啟動,或者adb埠被手機助手佔用,我們把根源找到也就好解決問題了。

Android手機連線不上電腦問題

  總的來說有幾種原因,如果下面方法能解決99%的手機連線問題

  • 有的手機預設不開啟USB除錯 ,要開啟它,先要開啟手機的開發者選項,開啟設定->關於手機->瘋狂點選“核心版本”,多次點選之後會彈出Toast:開啟開發者模式。(這裡的目錄可能根據手機品牌的不同位置也不同,每個多點選幾次看哪個彈出提示就是了)。然後回退到設定->更多設定->開發者選項,然後點選開啟USB除錯/USB安裝即可
  • 如果手機還是沒有反應,那麼應該是USB連線型別選錯了,下滑通知欄,找到USB連線型別那個通知,點選一下,選擇作為媒體裝置(MTP)連線即可
  • 如果手機依然連線不到電腦,那麼有可能沒安裝驅動,電腦上安裝一個360手機助手,它會自動幫你解決連線問題。記得連線上之後要把手機助手關掉才能連線到Android Studio
  • 如果還是不行,一般就是硬體的問題,你可以換一個USB介面
  • 如果換一個還是不行,那麼應該就是你USB線的問題,有的USB線只能充電,比如你在名創優品裡買的USB充電線,還有那種一拖三的充電線,這些都只能充電。你需要買一條真正的USB資料線,它既能充電,也能傳輸資料