![](/img/trans.png)
[英]Unable to attach debugger to Android process in Android Studio 2.3.3
[英]Can't attach Android Studio's debugger to Android process
我無法將 Android Studio 的調試器附加到我的可調試應用程序進程中。 其他人有這個問題嗎? 基本上我無法在Choose Process
對話框中列出我的應用程序。
我選擇Attach debugger to Android process
:
然后,Android Studio 中的Process selection
對話框如下所示:
為什么我的應用程序未顯示在“ Choose Process
列表中的任何想法?
雖然, DDMS
在Devices | logcat
看到了我的應用程序 Devices | logcat
列表:
Android Monitor
還會在Devices
列表中看到該應用程序:
我試過這些動作:
MacBook
Samsung Galaxy Note II N7100
(4.3) 和Samsung Galaxy S4
(4.4.2)Settings->Developer Options
Settings->Developer Options->USB debugging
adb kill-server
和adb start-server
重新啟動adb
adb tcpip 5555
然后使用adb connect 192.168.1.87
連接到它, restarting in TCP mode port: 5555
Waiting more
並在收到此錯誤時Restart
,說ADB not responding. You can wait more, or kill "adb" process manually and click 'Restart'
ADB not responding. You can wait more, or kill "adb" process manually and click 'Restart'
ddms: '$ANDROID_HOME/platform-tools/adb,start-server' failed -- run manually if necessary
ADB not responding. You can wait more, or kill "adb" process manually and click 'Restart'
Errors in ADB:
ADB not responding. You can wait more, or kill "adb" process manually and click 'Restart'
Errors in ADB:
ddms: '$ANDROID_HOME/platform-tools/adb,start-server' failed -- run manually if necessary
錯誤截圖更新:
我注意到該設備在Android DDMS
-> Devices | logcat
多次出現Devices | logcat
Devices | logcat
列表。 如果我從列表中選擇第一個設備,它會顯示No debuggable applications
,但我選擇了最后一個設備(屏幕截圖中的第 4 個)我看到了我的可調試應用程序。 見截圖: 1st和4th 。 雖然,即使列表中只有 1 個設備並顯示可調試的設備和應用程序,進程仍然不會出現在Choose Process
對話框中。
所以最后我讓它工作,通過:
Checking 'Show all processes' checkbox!
但是正如您在問題中看到的那樣,復選框在開始時處於啟用狀態,因此存在多個問題。
總而言之,這些是要完成的其他操作:
我是這樣解決的
一種。 關閉 Android Studio
灣從終端執行adb kill-server
。 同時檢查 adb 進程也從 PC 的運行進程窗口中被殺死
C。 啟動 Android Studio
d. Android Studio 嘗試再次初始化 adb 並恢復工作。
這可能是因為錯誤地選擇了release
構建變體(您可以在Build-Variants
部分設置),只有debug-variant
是debuggable
。
希望這能對一些朋友有所幫助。
這對我有用,而且很簡單,轉到工具->Android->啟用 ADB 集成,單擊此選項並將其標記為選中(如果未選中)這將允許您的 genymotion 實例連接到 ADB 但如果這不起作用,如果上面提到的設置被選中然后標記為未選中並等待ADB刷新(幾秒鍾)然后再次轉到相同的設置並單擊它以標記被選中,這將重新啟動ADB並連接它。 每次我看到這個問題時,這對我來說都是完美的。
我通過轉到終端並執行以下操作來解決此問題:
adb kill-server
adb start-server
然后我點擊了“附加調試器”按鈕,我可以正常使用它
您不必像我看到的很多建議一樣關閉 android studio,您可以從這里使用終端。 這樣: 1 進入Android studio中的終端; 2 是否使用 adb kill-server 來終止進程; 3 adb start-server 是否在這里運行 4. 檢查設備是否連接了 adb devices
現在它應該可以工作了!
除了之前的所有答案,如果添加評估和記錄的斷點,可能是其中之一導致空指針異常。 所以去運行 -> viewBreakpoints... -> 取消選擇所有這些。
在我的情況下,我只是從電話中拔出並插入電纜。 進程已列出,我能夠附加調試器
我也剛遇到這個。 我正在拔頭發,做了這里張貼的所有事情。 我想我可以在這里添加解決方案,以防每個人都嘗試過所有方法。 我通過使我的構建變體可調試來解決它。
所以我做了一個 PR 並且它被合並了,不幸的是,當我拉回源代碼時,我自己的構建變體上的可調試標志被關閉了,所以我只需要重新打開它:
在您的 build.gradle 文件中:
android {
...
buildTypes {
...
my_build_type {
minifyEnabled false
shrinkResources false
debuggable true // was false before
}
}
}
還要確保在將應用程序構建到設備之前設置了此構建變體:
這對我有用:首先找到你的apk是否可以調試或者是發布版本(你不能調試它)等等
主要區別在於調試標志和簽名密鑰:
對於調試版本,apk 將使用啟用調試標志的默認調試簽名密鑰進行簽名。
對於發布密鑰,您必須明確指定要簽名的密鑰,並且調試標志將被關閉,以便無法對其進行調試。
可以為發布版本打開 Proguard。 (也用於調試版本,但不建議)。 這一步需要顯式完成,默認為false。
在不生成簽名 APK 的情況下調試發布構建類型https://stackoverflow.com/Questions/7085644/how-to-check-if-apk-is-signed-or-debug-build https://stackoverflow.com/questions /38864358/difference-between-debug-and-release-apks#:~:text=Major%20differences%20are%20the%20debug,that%20it%20cannot%20be%20debugged 。
這可能不是一個解決方案,但我最終只是切換到使用模擬器設備(Nexus 5),而不是物理設備。
我嘗試了上面提到的所有內容,其中包括:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.