2012-03-13 26 views
22

Tôi đang cố gắng phát triển ứng dụng đồng đẳng wifi cho ứng dụng ngang hàng trong android (4. +). Vấn đề ở đây là làm thế nào để kiểm tra nó.làm thế nào để chạy wifi ngang hàng để ứng dụng ngang hàng trong giả lập Android ..?

Tôi đã cố gắng chạy ứng dụng đó trong trình giả lập Android. không có tùy chọn để cấu hình wifi trong menu cài đặt, tôi cũng mệt mỏi để kích hoạt wifi bằng cách sử dụng các công cụ dev mẫu ứng dụng giả lập nhưng nó không hoạt động, Và thông qua tất cả googling của tôi hơn 3 ngày và tôi thấy rằng giả lập Android không được hỗ trợ Wifi.

Vì vậy, tôi đã chọn cho androidx86 4.0eeepc sử dụng hộp ảo và mệt mỏi để thêm thiết bị cả wifi và bluetooth (ứng dụng của tôi sử dụng cả bluetooth và wifi) nhưng chỉ có thiết bị bluetooth được thêm vào và nó không hoạt động. Nhưng hộp ảo của tôi đã phát hiện các thiết bị wifi và bluetooth. Tôi chỉ không thể làm cho họ làm việc với máy ảo.

Tôi đã thử mọi thứ như thêm địa chỉ theo cách thủ công bằng cách sử dụng ứng dụng trình mô phỏng thiết bị đầu cuối trong androidx86 và sử dụng netcfg thông qua dòng lệnh android nhưng cả hai đều không hoạt động.

Vui lòng đề xuất và hướng dẫn tôi về đường dẫn chính xác để chạy các loại ứng dụng sử dụng wifi và bluetooth này trong android.

Xin cảm ơn trước.

+1

Tôi cũng muốn biết về điều này. Nếu bạn có câu trả lời khác, vui lòng cập nhật tại đây để chia sẻ. Chúng tôi phát triển bằng cách sử dụng api wifi trực tiếp v4.0 và chúng tôi sẽ mua một vài Galaxy Nexus để thử nghiệm. – Calvin

+0

Bạn đã bật WiFi Direct trong cài đặt Android cho hai phiên bản hộp thư ảo chưa? Cài đặt -> Không dây & Mạng -> Khác ... -> Wi-Fi trực tiếp – TryTryAgain

+0

Thật vậy ... tôi cũng tìm thấy từ youtube wifi đang hoạt động tốt. Không chắc chắn lý do tại sao/những gì khác biệt với bạn .... https://www.youtube.com/watch?v=Mngdn0Be5g4 – gumuruh

Trả lời

6

Đầu tiên, hãy chắc chắn bạn đã kích hoạt WiFi Direct trong cài đặt Android cho các trường hợp hai VirtualBox:

Settings -> Wireless Networks & -> More ... -> WiFi trực tiếp

đã stated as working một lần trở ngại đó đã được khắc phục, và tôi chắc chắn nhiều người đã kinh nghiệm như nhau ... chỉ cần nhớ phép wifi trực tiếp

tôi sẽ cố gắng chính xác những gì bạn đã cố gắng bằng một cách tự nhiên chuyển từ trình giả lập sang androidx86 dự án. Mặc dù không đáng tin cậy, tôi khuyên bạn nên xem xét và finagling này, nếu bạn chưa nhìn thấy nó: Android: Simulate WiFi in the emulator?How to disable/enable network, switch to Wifi in Android emulator? rất có thể sẽ không có đầy đủ thành công nhưng có thể là đủ để cho bạn biết rằng nó hoạt động hoặc sẽ làm việc.

Theo như thử nghiệm WiFi-Direct/WiFiP2P mà không cần bản thân bạn có một thiết bị/s, tôi muốn giới thiệu:

  • Đang cố gắng ra một số không quan trọng như đã đề cập ở trên. Và đọc qua tấn nhật ký.
  • Bạn luôn có thể quảng cáo nguồn cho bạn bè hoặc phát hành APK trên diễn đàn cho một nhóm nhỏ người thử nghiệm.

Tất nhiên, cả hai tùy chọn này đều không lý tưởng, liền mạch hoặc nhanh. Vì vậy, chắc chắn tôi sẽ hy vọng bạn sẽ có được VirtualBox VM của AndroidX86 4.0 chạy như nó nên một khi bạn kiểm tra thiết lập đó và ghép lên các AP WiFi :-)

+0

hmm .... Có vẻ như bạn cũng không ở trong "chỉ cố gắng mô phỏng Wifi trong trình mô phỏng" bên chứ không phải là "chỉ cần mua thiết bị thực" bên, @TryTryAgain. – gumuruh

4

Một giải pháp tương lai gần:

Đây có thể là một cái gì đó để nhìn vào trong tương lai gần. Các thiết bị thực được Samsung lưu trữ và màn hình được phát trực tiếp tới PC của bạn.

http://developer.samsung.com/remoteTestLab.do

Theo một email phản ứng bằng cách samsung, mà tôi gửi cho họ trước đó. Họ chỉ có 2 thiết bị (Galaxy Nexus) chạy trên Android phiên bản 4.0 tại thời điểm này. Thật không may là họ không thân thiết với nhau. (Một ở Hàn Quốc, Một ở Ba Lan)

Nhưng họ đang có kế hoạch nâng cấp Galaxy S2 hiện có lên v4.0. Vì gần đây Samsung đã phát hành bản nâng cấp v4.0 cho S2. Một khi họ làm điều đó, sẽ có rất nhiều điện thoại v4.0.

Và bạn có thể yêu cầu họ có 2 điện thoại nào gần gũi để bạn có thể kiểm tra Wifi Direct.

--------------------------- EDIT ----------------- ----------------

Hiện có rất nhiều thiết bị ICS, bạn có thể kiểm tra P2P. Kiểm tra xem 2 vật thể nào gần nhau.

3

mỗi sự docs:

Mỗi thể hiện của các giả lập chạy đằng sau một vụ ảo router/firewall mà cô lập nó từ mạng máy tính phát triển của bạn giao diện và các thiết lập và từ internet.

Bạn phải sử dụng Chuyển hướng mạng, dưới dạng described in the Developer Docs. Về bản chất, bạn chuyển tiếp các cổng cụ thể bằng ADB. Do đó bạn không thể kiểm tra những thứ nhất định như tin nhắn quảng bá.

Tôi đã thử làm những gì bạn đang cố gắng làm, và-- trong khi tôi sẽ không nói điều đó là không thể (bất cứ điều gì có thể trong tính toán với đủ thời gian, tiền bạc và sự kiên trì) - Tôi đã lãng phí rất nhiều thời gian trên đó. Bạn không thể xử lý trình mô phỏng Android như một thiết bị ngang hàng mạng bình thường. Theo như tôi đã có thể tìm thấy, nó là một ngã ba của QEMU, và đó chỉ là cách giả lập QEMU được thực hiện.

QEMU chính nó không hỗ trợ TUN/TAP bridging, nhưng tôi chưa bao giờ có thể làm cho nó hoạt động với trình giả lập Android. Nếu bạn muốn đi tuyến đường đó, bạn có thể muốn điều tra chạy Android trong trình mô phỏng QEMU, thay vì trong trình mô phỏng của SDK (Tôi thấy bạn đã thử phương pháp tương tự với VirtualBox).

Thật không may là cách tốt nhất để kiểm tra chương trình mạng ngang hàng trong Android là với các thiết bị vật lý tại thời điểm này-- trừ khi ứng dụng của bạn có thể đủ với phương thức chuyển tiếp cổng.

Xem thêm: Issue 26:Emulated Androids should be able to communicate via TCP, và Google

1

(. Lặp lại đây my answer elsewhere)

Về lý thuyết, Linux (kernel cơ bản android) có mac80211_hwsim lái xe, mô phỏng WiFi. Nó có thể được sử dụng để thiết lập một số thiết bị WiFi (một điểm acces, và một thiết bị WiFi, và như vậy), mà sẽ tạo nên một mạng WiFi.

Tính năng này hữu ích khi kiểm tra các chương trình WiFi trong linux. Có thể, ngay cả dưới user-mode linux hoặc các "hộp" ảo bị cô lập khác với linux. Về lý thuyết, trình điều khiển này có thể được sử dụng để thử nghiệm trong các hệ thống Android, nơi bạn không có thiết bị WiFi thực sự (hoặc không muốn sử dụng nó), và cũng có thể sử dụng một số trình mô phỏng android.Có lẽ, người ta có thể quản lý để sử dụng trình điều khiển này trong android-x86, hoặc - để thử nghiệm - trong android-x86 chạy trong VirtualBox.

+0

vì vậy anyway, @imz ... bạn đã thử nó cũng chạy trên giả lập cho trường hợp wifi này? – gumuruh