2010-12-11 37 views
12

Có vẻ như không tìm thấy thông tin sau mặc dù tôi chắc chắn điều này có thể xảy ra: Tôi đang chạy trình mô phỏng Android trên máy A. Tôi đang phát triển một máy B khác mà tôi đang sử dụng Eclipse.Kết nối Eclipse với trình giả lập Android trên một máy khác

Bây giờ khi tôi chuyển sang phối cảnh DDMS trong Eclipse, tôi muốn trình mô phỏng từ máy A hiển thị trong tab thiết bị.

Lý do là giả lập là khá chậm và có vẻ như chạy phát triển và trình mô phỏng trên các máy khác nhau có thể là giải pháp.

Vì trình giả lập chạy trên một cổng cụ thể, tôi khá chắc chắn tôi chỉ cần tìm ra cách nói nhật thực ở đâu để tìm giả lập.

Cảm ơn mọi mẹo

Trả lời

1

Bạn có thể yêu cầu adb kết nối với thiết bị nghe trên địa chỉ IP và cổng TCP. Thiết bị đó sau đó sẽ hiển thị trong nhật thực. Vì vậy, máy gỡ lỗi rất dễ dàng.

Máy mô phỏng có thể khó hơn. Trình giả lập đang nghe kết nối TCP trên một cổng cục bộ. IIRC nó đã được thiết lập rằng không có chuyển đổi dòng lệnh để làm cho nó lắng nghe trên một giao diện bên ngoài, mặc dù kiểm tra lại rằng. Vì vậy, bạn có thể phải sửa đổi và biên dịch lại trình giả lập, hoặc sử dụng một số loại cổng chuyển tiếp trên máy lưu trữ. ssh có thể xử lý điều đó cho bạn mặc dù tôi chắc chắn có những công cụ khác mà không cần đầu vào mã hóa nếu không cần thiết.

+0

Cảm ơn các chi tiết! – pgruetter

1

Eclipse không gắn trực tiếp với trình mô phỏng.

Quá trình nền adb kiểm soát giao tiếp với trình giả lập (cũng như thiết bị thực). Adb lắng nghe trên cổng TCP 5037 cho các lệnh đến.

Tôi chưa thử kịch bản của bạn nhưng điều này sẽ giúp bạn bắt đầu.

+0

OK, cảm ơn thông tin! Có thể có một cách để thay đổi adb để nó cũng kiểm tra một số máy chủ khác cho trình giả lập. Hoặc tôi có thể thay đổi adb hoàn toàn để adb tự chạy trên một máy chủ khác. – pgruetter

+0

Đó là những gì tôi nghĩ – mibollma

2

Trong thời gian chờ đợi, tôi đã tìm thấy một giải pháp rất tốt cho vấn đề này. Tôi đã cài đặt android-x86 (http://www.android-x86.org) trong một máy ảo. Mở máy chủ, sau đó bạn sử dụng các lệnh sau để khởi động lại adb và kết nối với vm:

adb kill-server 
adb connect <VM-IP>:5555 

Thay VM-IP với IP thực của máy ảo của bạn. Nếu bạn đang ở trên một mạng riêng, cách dễ nhất là cấu hình mạng vm như cầu nối để VM nhận địa chỉ IP của chính nó từ máy chủ dhcp. Cũng nên làm việc với các mạng chỉ dành cho máy chủ lưu trữ mặc dù được mô tả here.

Nếu mọi việc suôn sẻ, bạn sẽ thấy máy ảo Android trong trình gỡ rối Eclipse giống như trình giả lập bình thường.

+0

Thực ra, lệnh kill-server đầu tiên là không cần thiết, bạn có thể kết nối trực tiếp với thiết bị mới gọi adb từ bảng điều khiển. – pgruetter

+0

Và để tìm hiểu ip của vm, hãy nhớ rằng bạn có thể sử dụng tức là Ctrl + 2 để chuyển sang bàn điều khiển để tìm địa chỉ ip của bạn bằng ifconfig và chuyển về "os android" bằng Ctrl + 7. – pgruetter

1

Tôi đã thực hiện theo các bước sau.

  1. Khởi động giả lập trên máy từ xa
  2. Bắt đầu một ứng dụng cổng chuyển tiếp trên máy từ xa (tcp chuyển tiếp: 5557 để localhost: 5555)
  3. Bắt đầu adb với remote_machine_IP connect: 5557 trên máy tính phát triển của tôi
  4. Bắt đầu eclipse

Eclipse sẽ tìm adb và liệt kê thiết bị.

+0

bạn có thể giải thích rõ hơn về bước 2 hay không. Ứng dụng nào bạn sử dụng để chuyển tiếp cổng? – xmen

1

Làm theo các bước sau để kết nối máy ảo của bạn với nhật thực IDE:

Chạy ICS đầu tiên từ máy ảo của bạn và mở dấu nhắc lệnh Android. (Điều hướng đến các ứng dụng và chạy Terminal Emulator)

Loại "netcfg" trong thiết bị đầu cuối để tìm ra IP của vm của bạn

Sau đó đi đến cmd (cửa sổ command prompt) và di chuyển đến thư mục "nền tảng công cụ" trong đường dẫn cài đặt Android của bạn (trong trường hợp của tôi cd C: \ android-sdk-windows \ platform-công cụ)

Sau đó gõ "adb kết nối ip của bạn" lệnh (adb kết nối 190.156.10.122)

Bây giờ bạn có thể gỡ lỗi ứng dụng Android của bạn trong vm mà không bị đau. Hãy thử thisthis

1

Sau khi đấu tranh với điều này, tôi tìm thấy video này giải thích cách làm giả lập chạy trên mac của tôi trong khi chạy môi trường dev của tôi trong máy ảo. http://youtu.be/CacpPleWsZM

+0

video này rất chi tiết, từng bước trong hướng dẫn. cảm ơn vì đã chia sẻ điều này – MichaelP

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