2015-06-10 22 views
23

Tôi có một thiết bị Android (với hình ảnh Lollipop, nếu quan trọng) đang chạy trong Genymotion 2.4 và kết nối với nó thông qua ADB (phiên bản 1.0.32) từ một máy tính nhà phát triển khác với Eclipse ở địa phương mạng không có sự cố kết nối. Tất cả là tốt, ngoại trừ các giọt ADB định kỳ (các giao thức khác tiếp tục hoạt động tốt), đó là ADB mất thiết bị, và khi tôi cố gắng kết nối lại nó nói rằng thiết bị đang ngoại tuyến. Theo kinh nghiệm của tôi, trạng thái ngoại tuyến này về cơ bản có nghĩa là đầu nhận (thiết bị) vẫn cho rằng nó đã kết nối và từ chối kết nối mới. Phương pháp duy nhất tôi biết để khắc phục vấn đề này là khởi động lại thiết bị và sau đó ADB kết nối với nó như mong đợi.Thiết bị ảo chạy trong Genymotion định kỳ đi offline trong ADB

Nếu ai đó quan tâm, ADB không chạy trên máy chủ từ xa với Genymotion - nếu không, việc xóa kết nối khỏi các máy tính khác sẽ là không thể.

Câu hỏi: làm cách nào để làm mới "thiết bị ảo" chấp nhận kết nối ADB mới mà không cần khởi động lại toàn bộ thiết bị?

P.S. Nếu tôi để thiết bị "ngoại tuyến" một thời gian (ví dụ, trong một thời gian dài), có vẻ như làm mới trạng thái của nó mà không có tương tác bên ngoài, vì vậy ADB lại có thể kết nối đúng cách và thiết bị được báo cáo là "Trực tuyến". Tuy nhiên, nó không có ý nghĩa để chờ đợi quá lâu cho điều này xảy ra. Đây chỉ là một thông tin mới để xem xét.

+0

có vấn đề với genymotion của tôi. Trình giả lập sẽ ngoại tuyến thường xuyên, đặc biệt khi máy tính của tôi chuyển sang chế độ ngủ. Tôi luôn cần khởi động lại trình mô phỏng. Phải có một giải pháp tốt hơn –

Trả lời

19

Điều này có thể không phù hợp với bạn, nhưng đã làm việc cho tôi trong trường hợp thiết bị của tôi chỉ đơn giản là đi ADB ngoại tuyến. Một trong những nhận xét về câu hỏi của bạn đề cập đến trình giả lập của họ thường ngoại tuyến khi thiết bị của họ ngủ. Tôi làm như vậy và cũng đi offline sau một thời gian dài không hoạt động, mặc dù không thực sự ngủ. Dù sao, sửa chữa của tôi là đơn giản và đơn giản:

Trong thiết bị đầu cuối, hãy điều hướng đến nơi bạn đã cài đặt SDK. Sau đó, tìm đến thư mục nền tảng công cụ trong SDK của bạn, và ban hành các lệnh sau:

adb kill-server 

Sau đó kết thúc, gõ này một:

adb devices 

Đó hầu như luôn luôn sửa chữa vấn đề của tôi, và tôi hy vọng nó sửa chữa của bạn là tốt. Hãy cho tôi biết làm thế nào mà làm việc cho bạn.

+1

Làm việc cho tôi, mặc dù tôi đã phải chạy 'adb devices' hai lần trong máy của tôi. Cảm ơn bạn. –

+0

Hoàn hảo. Cảm ơn bạn. Beats đóng bộ giả lập của tôi và khởi động lại bộ gen. – Simon

+0

hiển thị danh sách các thiết bị được gắn trống trên ubuntu – chetan

1

Nếu bạn sử dụng MacOS Sierra - có lỗi đã biết trong đó.

28.11.2016 Không có cách giải quyết nào ngoại trừ việc khởi động lại adb được đề xuất trong câu trả lời @lustig.

  • Google sẽ sửa lỗi trong Android Studio 2.3. Các vấn đề cần theo dõi 82425, 216214
  • Không có thông tin nào về việc Apple sẽ sửa chữa nó trên mặt của họ hay không.
+0

Không. Cả hai PC của tôi đều chạy Windows. Từ câu trả lời của bạn, nó không rõ ràng nếu nó được sửa trong phiên bản cụ thể của ADB. Nếu có, thì phiên bản nào? Đề cập đến Android Studio là không đủ. – Stan

+0

@Stan đã cập nhật câu trả lời của tôi, tuy nhiên dường như nó không liên quan đến Windows. Để nó cho người dùng MacOS. – localhost

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