2010-03-13 17 views
44

Używam tej metody w celu uzyskania dostępu do internetu z mojego Android emulatora emulatora -http-proxy <<proxy-name>> -avd <<avd_name>>Jak ustawić opcje internetowe dla emulatora Androida?

To działa, ale jest to najlepszy sposób to zrobić? To po prostu nie jest w porządku, że muszę otworzyć emulator z linii poleceń i nie mogę zrobić tego po prostu z Eclipse.

Nie można również znaleźć opcji internetowej w "Menedżerze AVD".

+0

W moim przypadku, dane mobilne nie został włączony w ustawieniach http://stackoverflow.com/a/21464099/1176454 – baptx

Odpowiedz

23

Domyślnie powinieneś mieć możliwość przełączania dostępu do Internetu do swojego emulatora za pomocą F8 (w Windows) i Fn + F8 (w Mac OS X) - Myślę, że F8 działa również na Linuksie, ale nie jestem 100 % pewnie.

Za pomocą tego skrótu wywoływane jest ACTION_BACKGROUND_DATA_SETTING_CHANGED.

Nadzieję, że pomaga.

+5

Gdy połączenie internetowe jest dostępne w emulatorze F8 jest pomocny! – MduSenthil

+0

Nie dało to żadnego wizualnego ani żadnego innego rodzaju informacji zwrotnej, ale po ponownym uruchomieniu emulatora (w rzeczywistości odtworzeniu urządzenia wirtualnego) miał dostęp do Internetu. –

5

-http-proxy można ustawić w ten sposób: Zaćmienie

  1. menu Okno
  2. Preferencje Podmenu
  3. W preferencjach Dialog Kliknij Android w lewej części Kliknij Uruchom Bliskiego Domyślne opcje emulatora: input ur -http-proxy
+0

+1: z ADT 1.7 znajduje się Android/Uruchom – k3b

0

W nieco innej notatce musiałem wykonać wirtualne urządzenie bez obsługi modemu GSM, aby działał Internet na moim emulatorze.

4

Dodaj Obsługa modemów GSM podczas tworzenia AVD w wirtualnych urządzeń z Android SDK oraz AVD Menedżer ...

56

Można również spróbować wyraźnie określając ustawienia serwera DNS, to pracował dla mnie.

w Eclipse:

Okno> Preferencje> Android> Uruchom

Domyślne opcje emulatora: -dns-server 8.8.8.8,8.8.4.4

+1

To działało dla mnie! – rlc

+4

rozwiązało to problem, w którym emulator uzyskałby sieć tylko w niektórych sieciach Wi-Fi, a nie w innych. 'emulator -avd adv_name -dns-server 8.8.8.8,8.8.4.4' – danmayer

+1

Dzięki, człowieku, naprawdę działało – curiousguy

3

To było ustawienie DNS że wystarczyły dla mnie. Jeśli używasz wtyczek Eclipse lub Netbeans, możesz ustawić je odpowiednio za pomocą opcji Domyślny emulator lub Opcje emulatora. Możesz także użyć ustawienia z wiersza poleceń, jeśli uruchomisz swój emulator z CLI. We wszystkich przypadkach opcja jest "-dns-serwer x.x.x.x, x.x.x.x" bez cudzysłowów. W guziku ADB nie ma opcji, aby trwale powiązać opcję z urządzeniem wirtualnym.

6

do ewidencji ponieważ jest to stary post i ponieważ nikt nie wspomniał o tym, sprawdź czy zapomniałeś (jak ja), aby ustawić flagę android.permission.INTERNET w AndroidManifest.xml jak np:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.google.android.webviewdemo"> 
<uses-permission android:name="android.permission.INTERNET"/> 
    <application android:icon="@drawable/icon"> 
     <activity android:name=".WebViewDemo" android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 
</manifest> 
1

usunąć istniejący i ponownie utworzyć emulator. Urządzenie (Windows/Mac) powinno mieć dostęp do Internetu, a emulator androida ma domyślnie dostęp do Internetu.

1

Jeśli ktoś ma uprawnienie do Internetu w AndroidManifest i nadal masz problem z podłączeniem do Internetu, może to będzie pomocne: Android - Fixing the no internet connection issue on emulator.

Śledziłem kroków od tej strony, a wszystko działa na mnie. Najważniejszym:

  • Konfiguracja serwera proxy na emulatorze
  • Nieprawidłowy DNS używany przez emulator

To jest mój pierwszy post, więc mam nadzieję, że będzie to pomocne.

-2

Możesz to zrobić za pomocą AVD Manager, wybierz Narzędzia -> Opcje. Ustaw HTTP Proxy Server na 8.8.8.8,8.8.4.4

Emulator zostanie podłączony.

+4

To są serwery DNS Google, a nie serwer proxy. – aurbano

3
Hi me also faced same issue , solved using below steps: 

cause 1: 

Add internet permission in your android application 
<uses-permission android:name="android.permission.INTERNET"/> 


**cause 2: 
Check the manually your default application is able access internet or not 
if not its problem of your emulator , check in your internet connection in your pc 

try below method to connect net in your pc 

try explicitly specifying DNS server settings, this worked for me. 

In Eclipse: 

Window>Preferences>Android>Launch 

Default emulator options: -dns-server 8.8.8.8,8.8.4.4** 


cause 3: 
check : check if you are using more than one internet connection to your pc like one is LAN second one is Modem , 
so disable all lan or modem . 
0

Widziałem różne propozycje jak kod może dowiedzieć się, czy to działa na emulatorze, ale nie są dość zadowalające, albo „przyszłościowe”. Na razie zdecydowałem się na odczyt identyfikatora urządzenia, który jest zerowym emulatorem:

TelephonyManager telmgr = (Menedżer telefonii) getSystemService (Context.TELEPHONY_SERVICE); boolean isEmulator = "000000000000000" .equals (telmgr.getDeviceId());

Ale na wdrożonej aplikacji, która wymaga zgody READ_PHONE_STATE

Powiązane problemy