2010-02-10 40 views
40

Sau khi tôi khởi chạy trình giả lập bằng cách nhấn Debug trong Eclipse, sau một thời gian nhất định nó ngắt kết nối khỏi ADB, nhưng trình giả lập vẫn mở. Đó là đáp ứng, tôi có thể điều hướng và bắt đầu ứng dụng.Làm cách nào để gắn lại trình mô phỏng Android cho ADB?

Làm cách nào tôi có thể đính kèm trình giả lập vào ADB, để có thể gỡ lỗi từ Eclipse?

(workaround hiện nay là chấm dứt việc giả lập, Eclipse gần gũi và khởi động lại cả trong số họ, mà mất 10 phút là bạn biết giả lập cần thời gian để khởi động)

EDIT 1
Check-out này image:

enter image description here

EDIT 2

Sau khi tôi giết và khởi động lại máy chủ. Một quá trình mô phỏng xuất hiện trong tab Devices trong Eclipse. Nhưng điều đó không thể được mở rộng và tôi không thấy các quy trình phụ.
Tôi không thể nhấn gỡ lỗi, như đã nói: Gỡ lỗi đã chạy. (Làm thế nào để tôi ngừng gỡ lỗi?)

Nếu tôi quản lý để bắt đầu gỡ lỗi của một dự án khác, Nó treo trong trình giả lập cho tôi biết: Đang chờ trình gỡ lỗi đính kèm. Chẳng có gì xảy ra.

Trả lời

92

Như bạn đã nói, vấn đề không phải là Eclipse mất liên lạc với Trình mô phỏng, nhưng ADB - số Android Debug Bridge - mất liên lạc với nó. Khi Eclipse sử dụng ADB để giao tiếp với trình mô phỏng khi ADB bị phá vỡ Eclipse không thể làm gì cả.

Để sửa lỗi này stop the ADB server bằng cách chạy lệnh sau:

adb kill-server 

Eclipse sau đó sẽ thường cố gắng khởi động lại ADB, hoặc bạn có thể khởi động lại nó cho mình bằng cách chạy một lệnh ADB, chẳng hạn như:

adb devices 

Nếu bạn làm như vậy, bạn sẽ thấy kết quả như sau:

* daemon not running. starting it now * 
* daemon started successfully * 
List of devices attached 
emulator-5554 device 

Bạn ca n cũng làm điều này qua chuột, sử dụng tùy chọn Đặt lại adb trong chế độ xem Thiết bị trong Eclipse.

alt text

Nó cũng đáng chú ý là điều khiển xem có hai chế độ, DDMSAndroid. Bạn thường ở chế độ Console nhưng chế độ DDMS sẽ hiển thị thông báo trạng thái của ADB. Chọn chế độ bằng cách nhấn vào nút có biểu tượng Monitor, hoặc sử dụng vào mũi tên bên cạnh nó:

alt text

Nếu vẫn thất bại, hãy thử giết chết các quá trình adb từ hệ điều hành. Trên Windows XP, tôi sử dụng:

TASKKILL /F /IM adb.exe 
+0

Toàn diện! :) –

+0

Tôi không thể thực hiện điều này qua chuột, bằng cách sử dụng tùy chọn Đặt lại quảng cáo trong chế độ xem Thiết bị trong Eclipse vì tất cả những gì có màu xám. Kiểm tra chỉnh sửa của tôi ở trên. – Pentium10

+0

@ Pentium10 - hãy thử giết các quá trình adb từ hệ điều hành vì điều này đôi khi giúp ích. Tiếp theo, hãy thử khởi động lại Eclipse, cái mà cho tôi, nhanh hơn khởi động lại Trình giả lập. –

1

Đôi khi máy chủ diệt sẽ không hỗ trợ máy của tôi (WinXP).Ví dụ tôi không thể nhìn thấy bộ mô phỏng trong DDMS-View nữa hoặc tôi thấy nó nhưng không có quá trình chạy trên nó.

Trong những trường hợp này, tôi đóng trình mô phỏng và nhật thực và tự động hủy quá trình adb.exe khỏi danh sách quy trình.

Khi tôi sau đó khởi động lại nhật thực và trình giả lập, mọi thứ đều ổn.

Bây giờ tôi chỉ cần một bàn phím shortcut cho rằng :-)

1

trên mac, tôi chỉ phải giết adb từ quản lý hoạt động và tự tái mở lại chương trình. có nhật thực mở tất cả thông qua và nó hoạt động tốt.

0

Tôi đang thử nghiệm một ứng dụng trên trình mô phỏng Android 4.0 (API cấp 14) và khi tôi chạy ứng dụng trình mô phỏng khởi động và ngay sau khi nó tải, Eclipse DDMS ngắt kết nối khỏi trình mô phỏng.

Đây là giải pháp mà tôi đang sử dụng: Mở thiết bị đầu cuối, điều hướng đến công cụ nền tảng (C: \ android-sdk \ platform-tools \ hoặc bất cứ nơi nào bạn cài đặt android-sdk) và chạy adb kill-server và sau đó chạy , adb start-server. DDMS bây giờ sẽ liệt kê trình mô phỏng - từ phối cảnh Java, nhấp chuột phải vào ứng dụng -> Chạy dưới dạng -> Ứng dụng Android.

Hy vọng điều này sẽ hữu ích.

0

bash script tiện dụng của tôi

#!/bin/bash 
./path/to/adb kill-server 
./path/to/adb start-server 
./path/to/adb devices 
3

Có cách dễ dàng hơn. Từ nhật thực, bạn có thể đặt lại adb từ DDMS bảng điều khiển. Đây là một đoạn video ngắn về việc đó "Reset ADB on DDMS"

Đây là một ảnh chụp màn hình nhanh về nơi bạn có thể nhận được tùy chọn. enter image description here

+0

Làm việc cho tôi. Cảm ơn :) – NightFury

+0

Tôi đã làm nó nhưng nó đã không kết nối giả lập của tôi trở lại ADB. – Darpan

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