Mengaktifkan WiFi di Android Emulator

Jawaban:

126

Wifi tidak tersedia di emulator jika Anda menggunakan API level 25 di bawah.

Saat menggunakan AVD dengan API level 25 atau lebih tinggi, emulator menyediakan simulasi titik akses Wi-Fi ("AndroidWifi"), dan Android otomatis terhubung ke sana.

Informasi Lebih Lanjut: https://developer.android.com/studio/run/emulator.html#wifi

salman khalid
sumber
1
Saya ingin menguji server VNC pada emulator dan aplikasi server vnc membutuhkan Wifi atau USB untuk terhubung ke jaringan? lalu apa solusi terbaiknya?
mfq
1
@mfq dijalankan di perangkat nyata atau gunakan aplikasi VNC open source yang dimodifikasi untuk tidak peduli.
Chris Stratton
11
jangan buang waktumu @salman khalid? Benarkah itu? Sebagai perspektif programmer, yang saya lihat adalah kita perlu meminimalkan biaya pembelian perangkat yang sebenarnya jika itu terjadi. Berapa banyak perangkat yang kita perlukan jika kita hanya ingin menguji aplikasi kita? OMG .... tidak semua programmer sekaya yang lain ... ayolah! Mari kita buat emulator bekerja ... jadi kita membuat aplikasi lain ... benar, imz
gumuruh
4
"buang waktu" juga menjadi perhatian saya. Itu bukan jawaban yang bagus, kami membuang waktu untuk pengembangan sesuai kebutuhan;)
Pointer Null
3
Ini tersedia sekarang dengan Android Studio 3.0 Canary 1 mulai 17/5/2017 hari ini.
BK
12

Rupanya tidak dan saya tidak terlalu berharap itu akan terjadi. NAMUN Ivan mengemukakan kemungkinan bagus yang luput dari orang-orang Android.

Apa tujuan dari emulator? untuk MENEMULASI, kan? Saya tidak mengerti mengapa untuk tujuan pengujian-asalkan penguji memahami batasan- emulator mungkin tidak menambahkan emulator Wifi.

Ini bisa misalnya meniru akses WiFi dengan menggunakan koneksi internet yang mendasari host. Jelas menguji perbedaan WPA / WEP tidak akan masuk akal tetapi setidaknya itu bisa mengalihkan akses melalui WiFi.

Atau semacam plugin emulator di mana akan ada emulator WiFi dasar yang akan meniru akses WiFi melalui koneksi yang mendasarinya, tetapi kemudian melalui konfigurasi, ia dapat meniru WPA / WEP dengan memberikan daftar jaringan WiFi palsu dan kata sandi palsu yang sesuai yang akan dicocokkan terhadap daftar kredensial yang dapat dikonfigurasi.

Bagaimanapun idenya adalah melakukan pengujian awal pada emulator dan kemudian melanjutkan ke perangkat yang sebenarnya.

Lord of Scripts
sumber
8
Sepakat. Jika 3G diemulasi lalu mengapa bukan WiFi? Bahkan hanya untuk tujuan memungkinkan pengembang untuk bekerja dengan mengubah status WiFi.
Kilizo
1
@Kilizo Masalahnya di sini adalah tumpukan WiFi sangat berat untuk ditiru dan membutuhkan dukungan untuk menjembatani koneksi host (atau memiliki perangkat WiFi cadangan untuk digunakan). Bahkan dengan hal-hal seperti VMWare atau VirtualBox membuat mesin virtual dengan benar menggunakan perangkat WiFi penuh itu menyebalkan. Konektivitas seluler mudah untuk ditiru, yang perlu dilakukan hanyalah menghubungkan Anda ke internet normal, Anda tidak perlu khawatir tentang jaringan lokal atau memastikan emulator Android dapat mengontrol perangkat jaringan sepenuhnya.
sixones
11

Untuk saat ini, dengan Revisi 26.1.3 dari emulator android, hal itu akhirnya dapat dilakukan pada gambar v8 dari API 25. Jika emulator dibuat sebelum Anda meningkatkan ke gambar API 25 terbaru, Anda perlu menghapus data atau cukup menghapus dan buat ulang gambar Anda jika Anda mau.

Menambahkan dukungan untuk Wi-Fi di beberapa image sistem (saat ini hanya API level 25). Titik akses yang disebut "AndroidWifi" tersedia dan Android secara otomatis terhubung ke sana. Dukungan Wi-Fi dapat dinonaktifkan dengan menjalankan emulator dengan parameter baris perintah -feature -Wifi.

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

Eric Labelle
sumber
hai, apa yang harus saya lakukan untuk mengaktifkan fitur wifi? karena dalam pengaturan opsi wifi emulator akan dinonaktifkan secara otomatis.
NehaK
Saya dapat memverifikasi bahwa itu berfungsi dengan Image Android 7.1.1 (Google Apis), API Level 25, ABI x86. Yang aneh adalah itu tidak berfungsi dengan Gambar yang lebih baru: misal API 27, ABI x86 (Di sini saya dapat mengaktifkan Wi-Fi, tetapi akan mati secara otomatis)
TmTron
Anda benar @TmTron, per Agustus 2017 tanggapan yang saya dapat dari Google adalah 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
Untuk emulator versi 27.1.2, Wi-Fi berfungsi untuk API level 25 dan 26, tetapi tidak 27.
CanC
10

(Mengulangi di sini jawaban saya di tempat lain .)

Secara teori, linux (kernel yang mendasari android) memiliki mac80211_hwsim driver , yang mensimulasikan WiFi. Ini dapat digunakan untuk mengatur beberapa perangkat WiFi (titik akses, dan perangkat WiFi lain, dan seterusnya), yang akan membentuk jaringan WiFi.

Ini berguna untuk menguji program WiFi di bawah linux. Mungkin, bahkan di bawah linux mode pengguna atau "kotak" virtual terisolasi lainnya dengan linux.

Secara teori, driver ini dapat digunakan untuk pengujian di sistem android di mana Anda tidak memiliki perangkat WiFi yang sebenarnya (atau tidak ingin menggunakannya), dan juga di beberapa jenis emulator Android. Mungkin, seseorang dapat mengatur untuk menggunakan driver ini di android-x86, atau - untuk pengujian - di android-x86 dijalankan di VirtualBox.

imz - Ivan Zakharyaschev
sumber
2
Perhatikan bahwa sebagian besar yang membuat wifi tampak seperti "wifi" untuk aplikasi Android ada dalam runtime Android mode pengguna. Ada kemungkinan yang adil bahwa semua yang perlu diubah adalah pelaporan . Meskipun jaringan emulator memiliki beberapa properti yang lebih konsisten dengan penyedia 3g daripada wifi; khususnya penerjemah alamat jaringan yang tidak menerima koneksi masuk selain dari antarmuka loopback mesin pengembangan hosting. Memodifikasi platform untuk menyebutnya wifi akan berhasil, tetapi satu-satunya rekan lokal yang dapat terhubung adalah mesin dev.
Chris Stratton
3

Emulator tidak menyediakan perangkat keras virtual untuk Wi-Fi jika Anda menggunakan API 24 atau yang lebih lama. Dari situs Pengembang Android:

Saat menggunakan AVD dengan API level 25 atau lebih tinggi, emulator menyediakan simulasi titik akses Wi-Fi ("AndroidWifi"), dan Android otomatis terhubung ke sana.

Anda dapat menonaktifkan Wi-Fi di emulator dengan menjalankan emulator dengan parameter command-line -feature -Wifi.

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

Apa yang tidak didukung

Android Emulator tidak menyertakan perangkat keras virtual berikut ini:

  • Bluetooth
  • NFC
  • Sisipkan / keluarkan kartu SD
  • Headphone yang terpasang di perangkat
  • USB

Emulator jam tangan untuk Android Wear tidak mendukung tombol Ringkasan (Aplikasi Terbaru), D-pad, dan sensor sidik jari.

(baca lebih lanjut di https://developer.android.com/studio/run/emulator.html#about )

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

Stardust
sumber
12
-1 karena tangkapan layar menunjukkan perangkat terhubung melalui 4G bukan melalui WiFi, tidak menjawab, menyelesaikan, atau memberikan informasi bermanfaat apa pun untuk pertanyaan yang diajukan.
Sixones
1
@sixones Itu tidak selalu berarti tidak terhubung ke WiFi: 4G ditampilkan untuk tujuan emulasi (seperti, apa yang akan dilakukan aplikasi Anda jika menggunakan 4G vs 3G) dan dapat diubah melalui pengaturan. Meskipun WiFi ditampilkan mati atau tidak tersambung , saya masih dapat membuka Google karena komputer saya tersambung ke WiFi. Jadi meskipun Anda dapat melihat / mengunduh situs web, Anda tidak dapat meniru koneksi ke WiFi untuk tujuan emulasi, dan oleh karena itu, untuk tujuan ini, Anda memerlukan perangkat nyata yang terhubung ke WiFi.
Stardust
2
@Stardust Persis, jadi jawaban Anda tidak memberikan apa pun pada pertanyaan yang diajukan selain menunjukkan bahwa Anda dapat menggunakan koneksi seluler. UI Android cukup sederhana, jika Anda terhubung ke Wifi yang ditampilkan di bilah notifikasi, itu juga dapat menunjukkan konektivitas seluler Anda pada saat yang sama tergantung pada apa yang terjadi. Semua yang Anda tunjukkan adalah bahwa Anda dapat menggunakan emulator pada mesin host yang terhubung dengan wifi, yang bukan pertanyaan ini.
Sixones
Dari API 25+ Anda dapat menggunakan wi-fi developer.android.com/studio/run/emulator.html#wi-fi Jawaban ini sekarang sudah usang
Menuka Ishan