การเปิดใช้งาน WiFi บน Android Emulator


110

วิธีเปิดใช้งาน WiFi บนโปรแกรมจำลอง Android ฉันได้พยายามค้นหาสิ่งนี้ แต่ทุกคนสับสน WiFi กับ 3G


คำตอบ:


126

Wifi ไม่พร้อมใช้งานบนโปรแกรมจำลองหากคุณใช้ API ระดับต่ำกว่า 25

เมื่อใช้ AVD ที่มี API ระดับ 25 ขึ้นไปโปรแกรมจำลองจะมีจุดเชื่อมต่อ Wi-Fi จำลอง ("AndroidWifi") และ Android จะเชื่อมต่อกับมันโดยอัตโนมัติ

ข้อมูลเพิ่มเติม: https://developer.android.com/studio/run/emulator.html#wifi


1
ฉันต้องการทดสอบเซิร์ฟเวอร์ VNC บนโปรแกรมจำลองและแอปเซิร์ฟเวอร์ vnc ต้องการ Wifi หรือ USB เพื่อเชื่อมต่อกับเครือข่ายหรือไม่ แล้วทางออกที่ดีที่สุดคืออะไร?
mfq

1
@mfq ทำงานบนอุปกรณ์จริงหรือใช้แอป VNC แบบโอเพนซอร์สที่แก้ไขไม่ต้องสนใจ
Chris Stratton

11
อย่าเสียเวลา @salman khalid? เป็นเช่นนั้นจริงหรือ? ในมุมมองของโปรแกรมเมอร์สิ่งที่ฉันเห็นคือเราต้องลดค่าใช้จ่ายในการซื้ออุปกรณ์จริงให้น้อยที่สุดหากเกิดขึ้น เราต้องการอุปกรณ์กี่เครื่องหากต้องการทดสอบแอปของเรา OMG .... ไม่ใช่โปรแกรมเมอร์ทุกคนจะรวยเหมือนคนอื่น ... มาเถอะ! มาทำให้โปรแกรมจำลองทำงานกันเถอะ ... เราจึงสร้างแอพอื่น ... ใช่แล้ว imz
gumuruh

4
"เสียเวลา" ก็มาสนใจฉันด้วย นั่นไม่ใช่คำตอบที่ดีเราเสียเวลาในการพัฒนาตามความจำเป็น)
Pointer Null

3
พร้อมให้บริการแล้วใน Android Studio 3.0 Canary 1 ณ วันนี้ 17 พฤษภาคม 2560
BK

12

เห็นได้ชัดว่ามันไม่ได้และฉันไม่คาดคิดเลยว่ามันจะเป็นเช่นนั้น อย่างไรก็ตาม Ivan นำความเป็นไปได้ที่ดีที่ทำให้คน Android หลบหนี

จุดประสงค์ของโปรแกรมจำลองคืออะไร? เพื่อ EMULATE ใช่ไหม? ฉันไม่เห็นว่าทำไมเพื่อวัตถุประสงค์ในการทดสอบ - หากผู้ทดสอบเข้าใจข้อ จำกัด - ตัวจำลองอาจไม่เพิ่มตัวจำลอง Wifi

ตัวอย่างเช่นอาจจำลองการเข้าถึง WiFi โดยใช้การเชื่อมต่ออินเทอร์เน็ตพื้นฐานของโฮสต์ เห็นได้ชัดว่าการทดสอบความแตกต่างของ WPA / WEP จะไม่สมเหตุสมผล แต่อย่างน้อยก็สามารถสลับการเข้าถึงผ่าน WiFi ได้

หรือปลั๊กอินอีมูเลเตอร์บางประเภทที่จะมีตัวจำลอง WiFi พื้นฐานที่เลียนแบบการเข้าถึง WiFi ผ่านการเชื่อมต่อพื้นฐาน แต่จากการกำหนดค่ามันสามารถเลียนแบบ WPA / WEP โดยการให้รายชื่อเครือข่าย WiFi ปลอมและรหัสผ่านปลอมที่ตรงกันซึ่งจะจับคู่ได้ เทียบกับรายการข้อมูลประจำตัวที่กำหนดค่าได้

หลังจากความคิดทั้งหมดคือทำการทดสอบเบื้องต้นเกี่ยวกับโปรแกรมจำลองจากนั้นไปยังอุปกรณ์จริง


8
เห็นด้วย หากจำลอง 3G แล้วทำไมไม่ใช้ WiFi? แม้เพียงเพื่อจุดประสงค์ในการอนุญาตให้นักพัฒนาทำงานกับการสลับสถานะ WiFi
Kilizo

1
@Kilizo ปัญหาคือสแต็ค WiFi นั้นหนักมากในการเลียนแบบและต้องการการสนับสนุนในการเชื่อมต่อการเชื่อมต่อโฮสต์ (หรือมีอุปกรณ์ WiFi สำรองให้ใช้) แม้ว่าสิ่งต่างๆเช่น VMWare หรือ VirtualBox ทำให้เครื่องเสมือนใช้อุปกรณ์ WiFi เต็มรูปแบบได้อย่างถูกต้องก็เป็นความเจ็บปวด การเชื่อมต่อมือถือนั้นง่ายต่อการจำลองสิ่งที่ต้องทำคือเชื่อมต่อคุณกับอินเทอร์เน็ตปกติคุณไม่จำเป็นต้องกังวลเกี่ยวกับเครือข่ายท้องถิ่นหรือตรวจสอบให้แน่ใจว่าโปรแกรมจำลอง Android สามารถควบคุมอุปกรณ์เครือข่ายได้อย่างสมบูรณ์
sixones

11

ณ ตอนนี้ด้วย Revision 26.1.3 ของโปรแกรมจำลอง android ในที่สุดก็เป็นไปได้ในภาพ v8 ของ API 25 หากตัวจำลองถูกสร้างขึ้นก่อนที่คุณจะอัปเกรดเป็นรูปภาพ API 25 ล่าสุดคุณต้องล้างข้อมูลหรือเพียงแค่ลบ และสร้างภาพของคุณใหม่หากคุณต้องการ

เพิ่มการรองรับ Wi-Fi ในอิมเมจระบบบางส่วน (ปัจจุบันมีเพียง API ระดับ 25) มีจุดเชื่อมต่อที่เรียกว่า "AndroidWifi" และ Android จะเชื่อมต่อโดยอัตโนมัติ การสนับสนุน Wi-Fi สามารถปิดใช้งานได้โดยเรียกใช้โปรแกรมจำลองด้วยพารามิเตอร์บรรทัดคำสั่ง -feature -Wifi

จากhttps://developer.android.com/studio/releases/emulator.html#26-1-3


สวัสดีฉันต้องทำอะไรบ้างเพื่อเปิดใช้งานคุณสมบัติ wifi เนื่องจากในการตั้งค่าของตัวเลือก wifi จำลองจะถูกปิดโดยอัตโนมัติ
NehaK

ฉันสามารถตรวจสอบได้ว่าใช้งานได้กับ Image Android 7.1.1 (Google Apis), API ระดับ 25, ABI x86 สิ่งที่แปลกคือมันใช้ไม่ได้กับรูปภาพที่ใหม่กว่าเช่น API 27, ABI x86 (ที่นี่ฉันสามารถเปิดใช้งาน Wi-Fi ได้ แต่จะเปลี่ยนกลับเป็นปิดโดยอัตโนมัติ)
TmTron

คุณพูดถูก @TmTron เมื่อเดือนสิงหาคม 2017 คำตอบที่ฉันได้รับจาก Google คือYou're right about API 26, it's in the works and will be available in the future. As for backporting to earlier versions that's something we would like to do although I can't make any promises as to when that will happen or how far back we will go.
Eric Labelle

สำหรับอีมูเลเตอร์เวอร์ชัน 27.1.2 Wi-Fi ใช้ได้กับ API ระดับ 25 และ 26 แต่ไม่ใช่ 27
CanC

10

(ทำซ้ำคำตอบของฉันที่นี่ที่อื่น )

ในทางทฤษฎีลินุกซ์ (เคอร์เนลที่เป็นพื้นฐานของ Android) มีไดรเวอร์mac80211_hwsimซึ่งจำลอง WiFi สามารถใช้เพื่อตั้งค่าอุปกรณ์ WiFi หลายเครื่อง (จุดเชื่อมต่อและอุปกรณ์ WiFi อื่น ๆ เป็นต้น) ซึ่งจะประกอบเป็นเครือข่าย WiFi

มีประโยชน์สำหรับการทดสอบโปรแกรม WiFi ภายใต้ linux อาจเป็นไปได้แม้จะอยู่ภายใต้ลินุกซ์โหมดผู้ใช้หรือ "กล่อง" เสมือนที่แยกได้อื่น ๆ ด้วยลินุกซ์

ตามทฤษฎีแล้วไดรเวอร์นี้สามารถใช้สำหรับการทดสอบในระบบ Android ที่คุณไม่มีอุปกรณ์ WiFi จริง (หรือไม่ต้องการใช้) และในตัวเลียนแบบ Android บางประเภท บางทีเราสามารถจัดการเพื่อใช้ไดรเวอร์นี้ใน android-x86 หรือ - สำหรับการทดสอบ - ใน android-x86 ทำงานใน VirtualBox


2
โปรดทราบว่าสิ่งที่ทำให้ wifi ส่วนใหญ่กลายเป็น "wifi" สำหรับแอป Android นั้นอยู่ในรันไทม์ของ Android ในโหมดผู้ใช้ มีโอกาสที่ยุติธรรมทุกคนที่จะต้องมีการเปลี่ยนแปลงเป็นเรื่องรายงาน แม้ว่าเครือข่ายอีมูเลเตอร์จะมีคุณสมบัติบางอย่างที่สอดคล้องกับผู้ให้บริการ 3g มากกว่า wifi โดยเฉพาะตัวแปลที่อยู่เครือข่ายที่ไม่ยอมรับการเชื่อมต่อขาเข้านอกเหนือจากอินเทอร์เฟซแบบย้อนกลับของเครื่องพัฒนาโฮสติ้ง การปรับเปลี่ยนแพลตฟอร์มเพื่อเรียกมันว่า wifi จะใช้งานได้ แต่เพียร์ในเครื่องเดียวที่สามารถเชื่อมต่อได้คือเครื่อง dev
Chris Stratton

3

โปรแกรมจำลองไม่ให้ฮาร์ดแวร์เสมือนสำหรับ Wi-Fi หากคุณใช้ API 24 หรือก่อนหน้า จากเว็บไซต์นักพัฒนา Android:

เมื่อใช้ AVD ที่มี API ระดับ 25 ขึ้นไปโปรแกรมจำลองจะมีจุดเชื่อมต่อ Wi-Fi จำลอง ("AndroidWifi") และ Android จะเชื่อมต่อกับมันโดยอัตโนมัติ

คุณสามารถปิดใช้งาน Wi-Fi ในโปรแกรมจำลองได้โดยเรียกใช้โปรแกรมจำลองด้วยพารามิเตอร์บรรทัดคำสั่ง -feature -Wifi

https://developer.android.com/studio/run/emulator.html#wi-fi

สิ่งที่ไม่รองรับ

Android Emulator ไม่มีฮาร์ดแวร์เสมือนสำหรับสิ่งต่อไปนี้:

  • บลูทู ธ
  • NFC
  • ใส่ / นำการ์ด SD ออก
  • หูฟังที่ติดอุปกรณ์
  • ยูเอสบี

โปรแกรมจำลองนาฬิกาสำหรับ Android Wear ไม่รองรับปุ่มภาพรวม (แอปล่าสุด), D-pad และเซ็นเซอร์ลายนิ้วมือ

(อ่านเพิ่มเติมได้ที่https://developer.android.com/studio/run/emulator.html#about )

https://developer.android.com/studio/run/emulator.html#wi-fi


12
-1 เนื่องจากภาพหน้าจอแสดงว่าอุปกรณ์เชื่อมต่อผ่าน 4G ไม่ได้ผ่าน WiFi ไม่ตอบแก้หรือให้ข้อมูลที่เป็นประโยชน์กับคำถามที่ถาม
sixones

1
@sixones ไม่ได้แปลว่าไม่ได้เชื่อมต่อกับ WiFi: 4G จะแสดงขึ้นเพื่อจุดประสงค์ในการจำลอง (เช่นแอปพลิเคชันของคุณจะทำอะไรถ้าเป็น 4G เทียบกับ 3G) และสามารถเปลี่ยนแปลงได้ผ่านการตั้งค่า แม้ว่า WiFi จะแสดงว่าปิดอยู่หรือไม่ได้เชื่อมต่อฉันก็ยังสามารถเปิด Google ได้เนื่องจากคอมพิวเตอร์ของฉันเชื่อมต่อกับ WiFi ดังนั้นแม้ว่าคุณจะสามารถดู / ดาวน์โหลดเว็บไซต์ได้ แต่คุณไม่สามารถเลียนแบบการเชื่อมต่อกับ WiFi เพื่อจุดประสงค์ในการจำลองดังนั้นคุณต้องมีอุปกรณ์จริงที่เชื่อมต่อกับ WiFi เพื่อจุดประสงค์นี้
Stardust

2
@Stardust แน่นอนดังนั้นคำตอบของคุณจึงไม่มีอะไรให้กับคำถามที่ถามนอกจากแสดงว่าคุณสามารถใช้การเชื่อมต่อเซลลูลาร์ได้ UI ของ Android นั้นค่อนข้างเรียบง่ายหากคุณเชื่อมต่อกับ Wifi ซึ่งจะแสดงในแถบการแจ้งเตือนก็ยังสามารถแสดงการเชื่อมต่อมือถือของคุณในเวลาเดียวกันขึ้นอยู่กับสิ่งที่เกิดขึ้น สิ่งที่คุณแสดงก็คือคุณสามารถใช้โปรแกรมจำลองบนเครื่องโฮสต์ที่เชื่อมต่อ wifi ซึ่งไม่ใช่สิ่งที่คำถามนี้ถาม
sixones

จาก API 25+ คุณสามารถใช้ wi-fi developer.android.com/studio/run/emulator.html#wi-fiคำตอบนี้ล้าสมัยแล้ว
Menuka Ishan

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.