Android Emülatöründe WiFi'yi Etkinleştirme


Yanıtlar:


126

API seviyesi 25'in altında kullanıyorsanız emülatörde Wifi mevcut değildir.

API seviyesi 25 veya daha yüksek olan bir AVD kullanıldığında, emülatör simüle edilmiş bir Wi-Fi erişim noktası ("AndroidWifi") sağlar ve Android buna otomatik olarak bağlanır.

Daha Fazla Bilgi: https://developer.android.com/studio/run/emulator.html#wifi


1
VNC sunucusunu emülatörde test etmek istiyorum ve vnc sunucu uygulaması ağa bağlanmak için Wifi veya USB gerektiriyor mu? o zaman en iyi çözüm nedir?
mfq

1
@mfq gerçek bir cihazda çalıştırın veya umursamadan değiştirilmiş açık kaynaklı bir VNC uygulaması kullanın.
Chris Stratton

11
zamanınızı boşa harcamayın @salman khalid? Bu doğru mu? Programcıların bakış açısına göre, gördüğüm şey, gerçekleşmesi durumunda gerçek cihaz satın alma maliyetini en aza indirmemiz gerektiğiydi. Sadece uygulamamızı test etmek istersek kaç cihaza ihtiyacımız olur? OMG .... her programcı diğerleri kadar zengin değildir ... hadi! İşleri emülatöre yapalım ... o yüzden başka bir uygulama yapıyoruz ... tamam, imzala
gumuruh

4
"boş zaman" da dikkatimi çekti. Bu hoş bir cevap değil, gerektiğinde geliştirmeye zaman harcıyoruz;)
Pointer Null

3
Bugün 17.05.2017 itibarıyla Android Studio 3.0 Canary 1 ile kullanıma sunulmuştur.
BK

12

Görünüşe göre öyle değil ve ben de olacağını beklemiyordum. ANCAK Ivan, Android insanlarından kaçan iyi bir olasılığı ortaya koyuyor.

Bir emülatörün amacı nedir? EMULATE için, değil mi? Test amaçlı olarak neden test edenin sınırlamaları anlaması sağlanırsa, öykünücünün bir Wifi emülatörü eklemeyebileceğini anlamıyorum.

Örneğin, ana bilgisayarın temel internet bağlantısını kullanarak WiFi erişimini taklit edebilir. Açıkçası WPA / WEP farklı erişimini test etmek bir anlam ifade etmeyecektir, ancak en azından WiFi üzerinden erişimi değiştirebilir.

Veya altta yatan bağlantı yoluyla WiFi erişimini taklit eden bir temel WiFi emülatörünün olduğu bir tür emülatör eklentisi, ancak daha sonra yapılandırma yoluyla sahte WiFi ağlarının bir listesini ve eşleşecek karşılık gelen sahte şifrelerini sağlayarak WPA / WEP'i taklit edebilir. yapılandırılabilir bir kimlik bilgileri listesine karşı.

Sonuçta fikir, öykünücü üzerinde ilk test yapmak ve ardından gerçek cihaza geçmek.


8
Kabul. 3G öykünüyse neden WiFi olmasın? Sadece geliştiricilerin WiFi durumunu değiştirerek çalışmasına izin vermek için bile.
Kilizo

1
@Kilizo Buradaki sorun, WiFi yığınının taklit etmesi çok ağır ve ana bilgisayar bağlantısını köprülemek için desteğe ihtiyaç duyuyor (veya kullanmak için yedek bir WiFi cihazına sahip olmak). VMWare veya VirtualBox gibi şeylerle bile, sanal makinenin tam bir WiFi cihazını doğru şekilde kullanması bir acıdır. Hücresel bağlantının taklit edilmesi kolaydır, yapmanız gereken tek şey sizi normal internetinize bağlamaktır, yerel ağ oluşturma konusunda endişelenmenize veya Android emülatörünün ağ cihazını tam olarak kontrol edebilmesini sağlamanıza gerek yoktur.
sixones

11

Şu andan itibaren, android öykünücüsünün 26.1.3 Revizyonu ile, nihayet API 25'in görüntü v8'inde mümkündür. En son API 25 görüntüsüne yükseltmeden önce öykünücü oluşturulmuşsa, verileri silmeniz veya basitçe silmeniz gerekir. ve isterseniz resminizi yeniden oluşturun.

Bazı sistem görüntülerinde Wi-Fi desteği eklendi (şu anda yalnızca API seviyesi 25). "AndroidWifi" adlı bir erişim noktası mevcuttur ve Android buna otomatik olarak bağlanır. Wi-Fi desteği, emülatör -feature -Wifi komut satırı parametresi ile çalıştırılarak devre dışı bırakılabilir.

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


merhaba, wifi özelliğini etkinleştirmek için ne yapmam gerekecek? çünkü emülatör ayarlarında wifi seçeneği otomatik olarak çözülüyor.
NehaK

Image Android 7.1.1 (Google Apis), API Level 25, ABI x86 ile çalıştığını doğrulayabilirim. Garip olan şey, daha yeni Görüntülerle çalışmamasıdır: ör. API 27, ABI x86 (Burada Wi-Fi'yi etkinleştirebilirim, ancak otomatik olarak kapanacak)
TmTron

Haklısın @TmTron, Ağustos 2017 itibarıyla Google'dan aldığım yanıtYou'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

Öykünücü sürüm 27.1.2 için Wi-Fi, API seviyeleri 25 ve 26 için çalışır, ancak 27 için çalışmaz.
CanC

10

(Burada cevabımı başka yerde tekrar ediyorum .)

Teoride, linux (android'in altında yatan çekirdek), WiFi'yi simüle eden mac80211_hwsim sürücüsüne sahiptir . Bir WiFi ağı oluşturan birkaç WiFi cihazını (bir erişim noktası ve başka bir WiFi cihazı vb.) Ayarlamak için kullanılabilir.

Linux altında WiFi programlarını test etmek için kullanışlıdır. Muhtemelen, kullanıcı modu linux veya linux ile diğer izole edilmiş sanal "kutular" altında bile .

Teorik olarak, bu sürücü, gerçek bir WiFi cihazınızın olmadığı (veya kullanmak istemediğiniz) android sistemlerinde ve ayrıca bir tür android öykünücüsünde testler için kullanılabilir. Belki de bu sürücüyü android-x86'da veya - test için - android-x86'da VirtualBox'ta çalıştırmayı başarabilirsiniz.


2
Bir Android uygulamasında wifi'yi "wifi" olarak gösteren şeylerin çoğunun, kullanıcı modu Android çalışma zamanı içinde olduğunu unutmayın. Oldukça büyük bir olasılıkla, değişmesi gereken tek şey raporlama . Öykünücü ağının bazı özellikleri bir 3g sağlayıcıyla bir wifi sağlayıcısından daha tutarlı olmasına rağmen; özellikle, barındırma geliştirme makinesinin geridöngü arabirimi dışında gelen bağlantıları kabul etmeyen bir ağ adresi çeviricisi. Platformu wifi olarak adlandıracak şekilde değiştirmek bir tür iş olurdu, ancak bağlanabilecek tek yerel eş, dev makinesi olurdu.
Chris Stratton

3

API 24 veya önceki bir sürümünü kullanıyorsanız öykünücü Wi-Fi için sanal donanım sağlamaz. Android Developers web sitesinden:

API seviyesi 25 veya daha yüksek olan bir AVD kullanıldığında, emülatör simüle edilmiş bir Wi-Fi erişim noktası ("AndroidWifi") sağlar ve Android buna otomatik olarak bağlanır.

Öykünücüyü -feature -Wifi komut satırı parametresi ile çalıştırarak emülatörde Wi-Fi'yi devre dışı bırakabilirsiniz.

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

Desteklenmeyenler

Android Emulator aşağıdakiler için sanal donanım içermez:

  • Bluetooth
  • NFC
  • SD kart takma / çıkarma
  • Cihaza bağlı kulaklıklar
  • USB

Android Wear için saat emülatörü, Genel Bakış (Son Uygulamalar) düğmesini, D-pad'i ve parmak izi sensörünü desteklemez.

( https://developer.android.com/studio/run/emulator.html#about adresinde daha fazlasını okuyun )

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


12
-1 çünkü ekran görüntüsü cihazın WiFi üzerinden değil 4G üzerinden bağlandığını gösteriyor, sorulan soruya cevap vermiyor, çözmüyor veya herhangi bir yardımcı bilgi sağlamıyor.
sixones

1
@sixones Bu, mutlaka WiFi'ye bağlı olmadığı anlamına gelmez: 4G, öykünme amacıyla gösterilir (örneğin, uygulamanız 4G'ye karşı 3G'de olsaydı ne yapardı) ve ayarlar aracılığıyla değiştirilebilir. WiFi kapalı veya bağlı değil olarak gösterilse bile , bilgisayarım WiFi'ye bağlı olduğu için yine de Google'ı açabiliyorum. Dolayısıyla, web sitelerini görüntüleyebilmenize / indirebilmenize rağmen, öykünme amacıyla WiFi bağlantısını taklit edemezsiniz ve bu nedenle, bu amaçla, WiFi'ye bağlı gerçek bir cihaza ihtiyacınız vardır.
Stardust

2
@Stardust Kesinlikle, yani cevabınız sorulan soruya hücresel bağlantı kullanabileceğinizi göstermekten başka hiçbir şey sağlamaz. Android kullanıcı arayüzü oldukça basittir, Wifi'ye bağlıysanız bildirim çubuğunda gösterilir, aynı zamanda ne olduğuna bağlı olarak hücresel bağlantınızı da gösterebilir. Gösterdiğiniz tek şey, emülatörü wifi bağlantılı bir ana makinede kullanabileceğinizdir, bu sorunun sorduğu şey bu değildir.
sixones

API 25+ ile wi-fi developer.android.com/studio/run/emulator.html#wi-fi kullanabilirsiniz Bu cevap artık güncel değil
Menuka Ishan

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.