2016-11-26 35 views
15

Tôi không thể đính kèm trình gỡ lỗi trong Android Studio trong khi chạy gỡ lỗi trên điện thoại.Không thể đính kèm trình gỡ lỗi trong Android Studio - localhost: 8600 java.net.ConnectException

Tôi hiện đang sử dụng Samsung S4, chạy Android 4.4.4 (nhưng đã thử điện thoại S5, S6, S7 và Moto E trên các phiên bản Android khác nhau). Nó lần ra khi tôi cố gắng chạy nó với một trong các lỗi sau đây:

I/System.out: Gửi WAIT đoạn
W/ActivityThread: Ứng dụng đang chờ trình gỡ lỗi trên cổng 8100 ...

Hoặc

thất bại trong việc mở cổng debugger localhost: 8600 java.net.ConnectException "kết nối từ chối"

và App nói:

Waiting For Debugger
ứng dụng (process) đang chờ đợi debugger để đính kèm.
Force Đóng

Android Studio phiên bản:

Android Studio 2.2.2
Build # AI-145,3360264, xây dựng trên 18 Tháng 10 năm 2016
JRE: 1.8.0_112-release-b05 x86_64
JVM: OpenJDK 64-Bit server VM bởi JetBrains sro

phiên bản Mac:

10.11.6 (15G1004)

tôi thành công có thể kết nối và chạy ứng dụng, tôi chỉ không thể có được các debugger để đính kèm khi tôi làm Run> Debug App> chọn điện thoại kết nối> ĐƯỢC.

Tôi đã có thể chạy ứng dụng trong gỡ lỗi trên các máy tính khác (cả Windows và Mac) với cùng các điện thoại.

cách tiếp cận khác nhau tôi đã cố gắng từ giờ gỡ lỗi và tìm kiếm trực tuyến:

  1. làm mất hiệu lực Caches/Restart Android Studio

  2. Kiểm tra cho bất cứ thứ gì chạy trên cổng 8100, 8600, 8601 vv , không có gì trở lại khi tôi chạy sau từ bash:

    $ # while Android studio is trying to attach the debugger 
    $ lsof -i :8100 
    $ lsof -i :8600 
    COMMAND PID USER FD TYPE    DEVICE SIZE/OFF NODE NAME 
    

    Studio 6282 peter 125u IPv4 0x973c7e31bda641ab 0t0 TCP 192.168.1.16:640 22-> ip-166-62-27-181.ip.secureserver.net: Asterix (SYN_SENT) $ lsof -i: 8601 $ $ # sau khi Android studio thất bại trong việc gắn debugger $ lsof -i: 8100 $ lsof -i: 8600 $ lsof -i: 8601 $

  3. Chạy công cụ> Android> Trình giám sát thiết bị Android - nó hiển thị thiết bị của tôi, nhưng tôi không thể chạy Android Device Monitor trong khi đang cố gắng gỡ lỗi ứng dụng, nó nói, “Màn hình sẽ được đóng để bật tích hợp ADB. Tiếp tục? ”Tôi không tìm thấy gì hữu ích ở đây.

  4. Tìm kiếm và tiêu diệt các quy trình adb

    phòng thu
    ps aux | egrep '(adb|java)' 
    ... then doing `kill <pid>` or `kill -9 <pid>` if necessary for the found ones 
    
  5. Restart Android

  6. Khởi động lại máy tính của tôi

  7. Cập nhật Java JDK từ Oracle website-tuy nhiên, tôi không chắc chắn lý do tại sao Android Studio vẫn nói, “Máy ảo Java JVM: OpenJDK 64-bit của JetBrains sro”

  8. Hoàn toàn gỡ bỏ cài đặt và cài đặt lại phòng thu android - ví dụ, https://stackoverflow.com/a/18458893/376489 - thật là thú vị, tôi nghĩ rằng đây từng làm việc cho một lần chạy của debugger và sau đó không một lần nữa ...

  9. Cố gắng Run> Đính kèm debugger để Android Process - điều này không giúp

  10. chạy thử:

    ~/Library/Android/sdk/platform-tools/adb kill-server && 
    ~/Library/Android/sdk/platform-tools/adb start-server 
    
  11. Cố gắng bỏ chọn Run> Edit Configurations> Run/Debug Configurations> Bỏ qua cài đặt nếu apk đã không thay đổi

  12. Kiểm tra System Preferences> Security & Privacy> Firewall - đây là tắt

  13. Cập nhật 1: cố gắng thu hồi các quyền trên điện thoại cũng như khởi động lại nó

  14. Cập nhật 1: tắt tất cả các breakpoint Android Studio

Có ý tưởng nào khác về những gì có thể sai hoặc có ý nghĩa gì trong các chi tiết tôi đã thêm ở trên không?

+0

Cố gắng thu hồi auths gỡ lỗi USB. – KERiii

+0

Cảm ơn @ KERiii — Tôi đã thu hồi trên điện thoại và sau đó khởi động lại Android Studio — nó vẫn dẫn đến 'Ứng dụng đang chờ trình gỡ lỗi trên cổng 8100 ... 'và' Gửi thư WAIT trong bảng điều khiển gỡ lỗi, mà cuối cùng lần ra và tôi nhận được popup nói 'Không thể mở cổng gỡ lỗi (localhost: 8600): java.net.ConnectException “Kết nối bị từ chối” ' – MrColes

+0

@MrColes Bạn đang gỡ lỗi qua wifi? – PN10

Trả lời

10

Khá lúng túng, nhưng có vẻ như một số thời gian trước, tôi đã bước vào một ip địa chỉ vào tập tin/etc/hosts của tôi để kiểm tra một cái gì đó như localhost và không bao giờ gỡ bỏ nó. Tôi tìm thấy một bình luận về bài đăng khác nói để kiểm tra xem những điều sau đây là trong tập tin/etc/hosts:

127.0.0.1  localhost 
255.255.255.255 broadcasthost 
::1    localhost 

Khi bình luận ra rằng dòng giả mạo, trình gỡ lỗi đang làm việc. Do tôi có một tá hoặc nhiều IP khác trong tệp đó (vì vậy tôi có thể dễ dàng kiểm tra các máy chủ từ xa với một tên thân thiện), tôi phải không nhận thấy điều này ở phía dưới. Tôi nghĩ rằng một cách tiếp cận hết sức rõ ràng hơn để xác minh nếu đây là vấn đề hay không là ping localhost và xác minh rằng nó phân giải địa chỉ IP của 127.0.0.1, ví dụ:

$ ping localhost 
PING localhost (127.0.0.1): 56 data bytes 

ý kiến ​​vĩ đại và gợi ý từ những người khác ở đây cũng vậy, cảm ơn!

+0

Tôi cũng có trình gỡ lỗi đính kèm vấn đề và cố gắng hầu hết các giải pháp. Nhưng tương tự như bạn, tôi cũng đã thêm một ip để lưu trữ tập tin. Nhưng tôi vẫn có các dòng sau 127.0.0.1 localhost :: 1 ip6-localhost Bạn có gợi ý gì cho tôi không? – Anu

2
dự án làm sạch

1.try dựng-> dự án sạch

2.do File-> vô hiệu hóa/cache khởi động lại nếu ở trên không giúp bạn ..

3.try để thay đổi cáp dữ liệu bạn sử dụng để kết nối điện thoại của bạn.

nếu không có gì ở trên giúp, hãy cài đặt Android wifi Plugin ADB và cố gắng thực hiện gỡ lỗi qua wifi.

+0

Tôi đã cài đặt [Plugin android wifi của ADB] (https://github.com/pedrovgs/AndroidWiFiADB# cài đặt) qua Tùy chọn> Plugin trong Android Studio. Tôi đã kết thúc với kết quả tương tự như khi tôi chạy nó qua USB ("Lỗi chạy ứng dụng: Không thể mở cổng trình gỡ lỗi (localhost: 8600): java.net.ConnectException" Hoạt động đã hết thời gian ") – MrColes

+0

Đây là ảnh chụp màn hình của đầu ra từ bảng điều khiển gỡ lỗi: http://i.imgur.com/el5kCF8.png – MrColes

+0

@MrColes Bạn đã thử với Cáp dữ liệu mới chưa? –

5

Tôi vừa gặp phải sự cố tương tự. Dường như, Android Studio Phiên bản 2.2 có một số vấn đề với trình gỡ lỗi không đính kèm như bạn có thể thấy ví dụ: herehere.

Trong trường hợp của tôi đã giúp sau đây:

  • Di chuyển hồ sơ khởi động cho ứng dụng của bạn bằng cách vào Run -> Chỉnh sửa cấu hình ... và loại bỏ các hồ sơ đó. Đừng quên nhấn nút OK sau khi bạn đã xóa hồ sơ. :)
  • Tạo hồ sơ khởi chạy mới từ đầu bằng cách chạy lại -> Chỉnh sửa cấu hình ..., nhấn nút +, chọn hồ sơ khởi chạy Ứng dụng Android và chọn mô-đun khởi động của bạn. Các giá trị mặc định khác của hồ sơ chỉ là tốt.

Hy vọng điều này sẽ giúp bạn.

1

Tôi cũng có cùng một lỗi và điều này làm việc cho tôi

1. Open Android Studio -> Terminal 
2. Change directory to $Android SDK Path$\platform-tools 
3. Write command adb get-state and hit enter. 

Sau đó, bạn sẽ nhận được kết quả này

* daemon not running. starting it now on port 5037 * 
* daemon started successfully * 
+0

Đó không phải là việc phải làm như sau: “In trạng thái adb của trình mô phỏng/Ví dụ, khi tôi chạy nó, nó chỉ xuất ra văn bản: “device” '' ' ~/L/A/s/platform-tools> adb get-state device ' '' – MrColes

+0

Chắc chắn nó in trạng thái giả lập/thiết bị nhưng khi daemon không chạy, nó cũng khởi động nó cho bạn, vì vậy, trong nhiều trường hợp khi daemon không tải được chính nó và bạn cố gắng debug/run bạn r ứng dụng sau đó nó sẽ hiển thị cùng một lỗi mà bạn có 'Không thể mở cổng gỡ lỗi: java.net.ConnectException" Kết nối từ chối "' – Shubham

0

Support for a true debug build. Nhà phát triển không còn cần thêm thuộc tính android: debuggable vào thẻ trong tệp kê khai - công cụ xây dựng thêm thuộc tính tự động. Trong Eclipse/ADT, tất cả các bản dựng gia tăng được giả định là các bản dựng lỗi, vì vậy các công cụ chèn android: debuggable = "true". Khi xuất bản phát hành đã ký, các công cụ không thêm thuộc tính. Trong Ant, một lệnh ant debug tự động chèn thuộc tính android: debuggable = "true", trong khi bản phát hành ant thì không. Nếu android: debuggable = "true" được đặt theo cách thủ công, thì bản phát hành kiến ​​sẽ thực sự thực hiện một bản dựng gỡ lỗi, chứ không phải bản dựng bản phát hành.

Trong trường hợp của tôi, tôi phải vật lộn với vấn đề này 5 giờ và thấy rằng các

minifyEnabled true là thủ phạm chính để thay đổi minifyEnabled false làm việc cho tôi

My tập tin ứng dụng build.gradle trông giống như

buildTypes { 
     debug { 
      signingConfig signingConfigs.debug 
      minifyEnabled false 
      shrinkResources true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 

    } 
Các vấn đề liên quan