Як підключити андроїд-емулятор до Інтернету


272

Як я можу підключити свій емулятор Android до Інтернету, наприклад, використовувати браузер? Я знайшов багато порад щодо того, що робити, коли ваш підключений через проксі, але це не так, моя машина (Windows 7) безпосередньо підключена до маршрутизатора.


1
У мене було встановлено налаштування dns мережевого адаптера вручну на моєму маршрутизаторі в 192.168.1.1, але коли я змінив його на автоматичний, він працював.
rwilson04

У мене була ця проблема, коли я запустив емулятор, перш ніж увімкнути WiFi на комп’ютері. Рішенням було ввімкнути WiFi на зовнішньому моєму Co, а потім зупинити / запустити емулятор.
заборона-геоінженерія


Використовуйте це посилання , щоб вирішити ур випуск stackoverflow.com/questions/50670547 / ...
kallayya Hiremath

Відповіді:


289

Я думаю, що деякі відповіді, можливо, вирішили це, хоч і косо, але ось що для мене спрацювало.

Якщо припустити, що ваша проблема виникає, коли ви перебуваєте в бездротовій мережі та у вас встановлена ​​локальна карта, проблема полягає в тому, що емулятор намагається отримати свої параметри DNS з цієї локальної картки. Це не проблема, коли ви підключені через цю локальну мережу, але абсолютно марні, якщо ви перебуваєте в бездротовому з'єднанні. Я помітив це, коли я був на своєму ноутбуці.

Отже, як виправити? Просто: вимкніть локальну карту. Дійсно. Просто перейдіть до мережевих підключень, знайдіть свою локальну карту, клацніть правою кнопкою миші та виберіть відключити. Тепер спробуйте емулятор. Якщо ти такий, як я, раптом ... працює!


2
Так, це був мій сценарій, я використовую бездротовий зв’язок на Win7, тому я закрив емулятор, відключив свою локальну карту і запустив емулятор знову, і він працював.
Міна Самі

2
Насправді емулятор приймає адаптер з найвищим пріоритетом, тому перемикання пріоритету адаптерів (бездротових як найвищих) теж має працювати, і це не вимагатиме від вас повністю відключити LAN-адаптер. Дякую за вашу відповідь, врятував мені головний біль
thomaux

1
@Anzeo: а як змінити порядок в Windows?
Мартін

1
Перевірте налаштування брандмауера - як @ moon_walker333 в цій темі згадує. AVG блокував мою програму.
ccbunney

1
Дякую багато - витратили години на те, щоб виправити це, і, нарешті, вдалося змусити його працювати, як тільки я відключив свій NIC. FYI, ось як ви можете змінити пріоритет мережевого адаптера: sevenforums.com/tutorials/…
znelson

84

Якщо ви перебуваєте на Mac - спробуйте це -

  1. GoTo Apple Icon -> Налаштування системи -> Мережа
  2. Клацніть на значок шестірні на і виберіть "Встановити порядок обслуговування"
  3. Переведіть активний інтерфейс перед іншим інтерфейсом.
  4. Перезавантажте Android-емулятор.

4
+1: це, безумовно, найкорисніша відповідь для користувачів Mac.
шерб

5
Що означає крок 3? Я підвів свій віртуальний пристрій нижче Wi-Fi, і комп'ютер закрився.
Iammesol

3
@Iammesol, я вважаю, що крок 3 означає перетягнути ім’я активного з'єднання (скажімо, Wi-Fi / Ethernet) доверху. Принаймні, це працювало на мене.
Хімель Наг Рана

62

Ось відповідь для розробників, які використовують Android Studio .

Операційна система: Mac OS X El Capitan

IDE: Android Studio 2.2

З якихось причин я не зміг отримати доступ до Інтернету через AVD на роботі (ймовірно, проблеми з проксі-сервером або мережевою конфігурацією). Трюк для мене полягав у тому, щоб запустити в командному рядку свій AVD і вручну надати Google загальнодоступний DNS 8.8.8.8.

У своєму терміналі перейдіть до інструментів папок Android sdk, щоб знайти програму "емулятор":

cd ~/Library/Android/sdk/tools

Потім отримайте ім'я своїх AVD:

emulator -list-avds

Це поверне вам щось подібне:

Android_Wear_Round_API_23
Nexus_10_API_22
Nexus_5X_API_22
Nexus_5X_API_24
Nexus_9_API_24

Потім запустіть потрібний AVD із наступними інструкціями:

emulator -avd NameOfYourDevice -dns-server 8.8.8.8

Ваш AVD запускається, і ви маєте можливість користуватися Інтернетом.


Це працювало для мене, оскільки мій Mac втратив налаштування DNS. Не вина емулятора. Цей параметр DNS витягується з Mac. Але ця посада допомогла мені розібратися.
ezaspi

Я створив простий сценарій для цього, ви можете перевірити це за адресою: gist.github.com/brotoo25/246d8767982ed74ce98ed165ea099a5d
Brotoo25

57

Моя платформа: Mac OS 10.6.4 Eclipse: 3.6

У мене була подібна проблема, коли фон моєї програми був сірим (без плиток), а браузер не зміг підключитися до Інтернету.

У межах Eclipse я перейшов до «Запустити конфігурації» -> «Ціль» і додав " -dns-server X.X.X.X", а потім все спрацювало нормально. (очевидно, це X.X.X.Xбула IP-адреса мого DNS-сервера).


6
Я додав "-dns-сервер XXXX" до поля "Додаткові параметри командного рядка емулятора".
Джеремі Кій

5
+1 Це працювало для мене. У мене були проблеми під час локальної мережі. Я щойно додав Громадський DNIS 8.8.8.8 і це вирішив! Дякую купу!
J.Hendrix

Дивовижно, в моєму випадку він не забирався на dns-сервер, оскільки ми використовуємо 10.0.0.0-255 як нашу підмережу, довелося робити -dns-сервер 10.0.0.1 (також windows 7)
Томас Дігнан,

3
блискуча подяка Для тих, хто (як я!) Не зміг знайти поле "Додаткові параметри командного рядка емулятора", спробуйте перетягнути нижній край вікна "Ціль" вниз. Це поле було для мене прихованим, без зворотного зв'язку, щоб припустити, що це було!
Кріс Найт

Використовуваний DNS 8.8.8.8 від Google та той самий підхід також працював для мене на Ubuntu 12.04, Eclipse Juno.
pm_labs

25

Щоб скористатися Інтернетом через проксі на емуляторі, спробуйте виконати наступні кроки:

Перейдіть до налаштувань-> Бездротові та мережі-> мобільні мережі-> Імена точки доступу. Натисніть кнопку меню. з'явиться меню опцій.

у меню опцій виберіть Новий APN.

Клацніть на ім'я. вкажіть ім'я, щоб apn сказало "Моя APN".

Клацніть на APN. Введіть www.

Клацніть на проксі. введіть IP свого проксі-сервера. Ви можете отримати його у меню Інтернет-опціоністів.

натисніть на Порт. введіть номер порту, в моєму випадку це було 8080. Ви можете отримати його у меню Інтернет-опціонерів.

Клацніть на Ім'я користувача. надайте ім'я користувача у домені формату \ ім'я користувача. як правило, це ваша система входу в систему.

Натисніть на пароль. введіть пароль вашої системи.

знову натисніть кнопку меню. з'явиться меню опцій.

натисніть зберегти це і спробуйте відкрити веб-переглядач. Я думаю, це допомогло вам?


я намагався, але це дає Відбулася помилка в мережі. навіть мій системний Інтернет добре працює
Sandeep vashisth

3
Це ще простіше, якщо у вас працює локальний проксі, який пересилає трафік до "офіційного", який потребує автентифікації. У цьому випадку використовуйте 10.0.2.2як IP-адресу вашого проксі-сервера (вашого хост-машини) і налаштуйте зовнішній проксі (наприклад, SquidMan ) на свій смак.
Томас Келлер

не працює для мене .. Що ввести значення для VPN.?
розробників

17
  1. правий клацання на проект у затемненні
  2. виберіть Запустити як -> Запустити конфігурації ...
  3. виберіть програму Android, а потім виберіть вкладку "ціль"
  4. Шукаєте "Додаткові параметри командного рядка емулятора" та помістіть цей командний рядок у текстове поле

    -http-proxy http: // <ім'я користувача>: <пароль> @ <ім'я хоста>: <порт>


12

Існують різні рішення цієї проблеми. Одне з них я покажу вам на моєму експерименті та результатах, бачених на результатах, використовуючи нещодавню студію Android та AVD, завантажену у 2017 році.

  1. Перше, що вам потрібно зробити, це запустити свій AVD з андроїд-студії. (у моєму випадку я вибираю NEXUSAPI25 для Android 7.1 зображення)

  2. Перейдіть у Налаштування -> Безвідмовна мережа -> Стільникова мережа -> Точки доступу -> (+) натисніть кнопку "Додати" -> введіть наступне, якщо у вас немає проксі-сервера або проксі-сервера NTLM (це означає, що ви безпосередньо підключені)

    а. додати ім’я apn як myAPN b. Додати сервер apn => www c. збережіть і спробуйте переглядати Інтернет.

якщо це не працює, додайте "ANDROID_SDK_ROOT" у змінну середовища

Потім запустіть AVD за допомогою команди емулятора

emulator -avd Nexus25 -dns-server 8.8.8.8
  1. Для тих, хто використовує проксі-сервери NTLM, я покажу вам, як це працює для мене далі.

  2. додайте шлях до Android_sdk_root у змінну вашого середовища. Це робить код командного рядка успішно прочитаним, як, наприклад, використання імен AVD тощо.

  3. Запустіть емалатор за допомогою наступної команди

> емулятор -avd Nexus_5X_API_25 -http-proxy http: // ім'я користувача: пароль @ ipaddress: порт

Вхід

введіть тут опис зображення

введіть тут опис зображення


1
-dns-serverвирішили це. Чи є спосіб встановити це в інтерфейсі?
серв-інк

11

Ви спробували запустити емулятор з адміністративними привілеями ? Це працювало для мене, я запускаю Windows 7 64bit)


Я також запускаю Windows 7 64bit. Я спробував запустити Eclipse як адміністратор та AVD Manager як адміністратор, і жоден не працював. Чи потрібно мені якось запускати його з командного рядка як адміністратор?
Денні

Натрапив на цю ж проблему, біг з правами адміністратора вирішив мою проблему щодо Windows 10.
Абдул Маннан

10

У моєму випадку я просто повинен був запустити віртуальний пристрій Android (AVD) від "Android SDK та AVD Manager", і він працював


1
Так, це працювало для мене .. Я тільки запускав додаток, і це спонукало мене запустити AVD ...
Swapnil Kale

10

Якщо у диспетчері SDK ви знаходитесь за проксі, у розділі Tools -> OptionsНЕ налаштовуйте налаштування проксі. Після запуску з командного рядка додайте -http-proxy:

emulator.exe -avd YOUR_AVD_NAME_HERE -http-proxy PROXY:PORT

Працювали для мене.


Це єдине рішення, яке працювало на мене. Пам’ятайте, що коли ви вимкнете конфігурацію проксі-сервера в налаштуваннях менеджера SDK, ви не зможете отримати доступ до оновлень SDK, тому вам потрібно буде знову активувати налаштування проксі-сервера під час створення програми.
AlanKley

чи існує файл конфігурації, який зберігає конфігурацію проксі, тому ми можемо запустити його з менеджера AVD? не з командного рядка?
projo

8

З цією проблемою я стикаюся, коли вперше запускаю тренажер, вирішив його, встановивши сервер dns

Library/Android/sdk/platform-tools/adb shell getprop net.dns1

отримати поточний dns-сервер симулятора 10.0.2.3

Потім встановіть його на мій сервер lan dns

Library/Android/sdk/platform-tools/adb shell setprop net.dns1 192.168.1.1

Працював на Android 25. на цю слід прийняти відповідь!
Джеймс Ян

7

Я також зазнав тієї ж проблеми. Найпростіше рішення, яке я дізнався:

  • Перейдіть у папку Android \ Sdk \ емулятор та відкрийте командний рядок.
  • Введіть, emulator -list-avdsщоб переглянути доступні імена емулятора.
  • Введіть emulator -avd name-of-your-device -netdelay none -netspeed full -dns-server 8.8.8.8команду та натисніть клавішу Enter.

6

У мене була подібна проблема. Я встановив додаток, який вимагав дозволу INTERNET (і використовував його), і раптом це спрацювало.

Хлопці, перевірте також, якщо ви не десь підключені через VPN, оскільки це також може порушити Інтернет-з'єднання.

блачарнія


6

У затемненні перейдіть до DDMS

в розділі DDMS виберіть пункт Емулятор управління , який містить статус телефонії в статусі телефонії, містять дані -> виберіть Домашня сторінка , це дозволить підключитись до Інтернету, якщо ви хочете відключити підключення до Інтернету для Емулятора, то ---> виберіть Ні

(Примітка. Це дозволить підключитися до Інтернету, лише якщо у вас ПК / ноутбук, на якому ви запускаєте затемнення, маєте активне підключення до Інтернету.)


4

Прочитавши це, я вирішив подивитися на свої «НІК». Я ставлю це в лапки, тому що, як і багато хто, я запускаю віртуальні nics для таких пристроїв, як Hamachi та Virtual Box. Після відключення Хамачі я можу користуватися Інтернетом. Я здогадуюсь, що емулятор вибирає перший доступний nic незалежно від того, віртуальний він. Тепер, щоб дізнатися, чи можу я змінити порядок nic, не розриваючи свій ящик.

Windows 7 32-бітний


4

Налаштування сервісного замовлення були правильними (перший Wi-Fi), але все-таки не вдалося підключитися.

Відповідь полягала у відключенні мосту Гроза:

Налаштування системи> Мережа> Thunderbolt Bridge

Потім встановіть параметр Налаштувати IPv4 і застосувати свої зміни.

Не потрібно накручувати точки доступу в емуляторі.


Те ж саме. Мені довелося встановити всі сервіси на "Налаштувати IPv4: вимкнено" і залишити Wi-Fi увімкнено. Тільки переміщення замовлення на обслуговування виявилося недостатньо. Каталіна 10.15.4.
Олівер Мец

3

Я вирішив це, відключивши всі мережеві з'єднання, крім з'єднання Wi-Fi, яким я користувався, а потім встановив властивості на тому, що залишилося включеному з'єднанні, щоб мати статично призначені адреси DNS. (без DHCP) Це було на 64-бітній Win7


3

Дякую за покажчики Вони справді допомагали. Слово "Брандмауер" клацнуло ідею в моїй свідомості.

У мене машина Windows XP з підключенням WIFI і без проксі. На моїй машині працює Norton Internet Security, на якій є смарт-брандмауер. Цей смарт-брандмауер управляє доступом програм до мережі, включаючи emulator.exe. Я зайшов у Налаштування -> Керування програмою, а потім надав повний доступ до emulator.exe. Після цього я запустив Android Emulator та трем ... Я міг підключитися до Інтернету.

Сподіваюся, що це допомагає новим людям.

~ Саггі


Так - брандмауер був моєю проблемою (AVG). Гарне місце!
ccbunney

У мене була така ж проблема з Касперським!
Бероуз.М

2

Якщо ви працюєте на MacOS з 2.2, і ви постійно бачите помилку щодо підключення даних, спробуйте вище, це працює.

  • Я видалив усі мережеві інтерфейси через Sys Prefs, крім LAN
  • Навіть думав, що мій DNS надає DHCP, я повторно ввів DNS лише з одним сервером
  • Я використовував -http-proxy в командному рядку, щоб вказати його

Він починає працювати в офісі. Phew.


2

Я думаю, що іноді просто просто перезапустити віртуальний пристрій. :-)


2

У мене була така ж проблема у моєму віртуальному Windows 7.

  1. Перейдіть до мережевих підключень
  2. Alt> Додатково> Додаткові налаштування ...
  3. На другій вкладці піднесіть верхній інтерфейс Інтернет-мереж

сподіваюся, що це корисно завдяки


2

У рамках емулятора Android увімкнення та вимкнення режиму літака знову працювало для мене.


1

так - у програмі win 7 запустіть емулятор з адміністраторними приватними програмами, і все буде добре - або, принаймні, ви отримаєте бездротовий зв'язок в android.


1

У мене була аналогічна проблема з 64-бітним Win7. Спробував відключити мої адаптери hamachi та virtualbox і не працював. Спробував запустити avd як адміністратор і не працював. Врешті-решт я відключив адаптер для тунелювання teredo, використовуючи інформацію на цьому веб-сайті, і він працював: http://www.mydigitallife.info/2007/09/09/how-to-disable-tcpipv6-teredo-tunneling-in-vista /


Після роботи він знову зупинився. ipconfig показав, що з'явився новий мікрософт-адаптер під назвою isatap. Тому я зайшов у Диспетчер пристроїв> Мережеві адаптери> Показати приховані пристрої та відключив 3 адаптери isatap, а потім він знову почав працювати.
Мартін Бейлі

1

Я виявив, що запуск емулятора з відміткою "стерти дані користувача" усунув цю проблему для мене після того, як я відновив свою машину розробників з Vista x64 на Win7 x64.


1

Схоже, може бути декілька причин, через які може бути відсутність підключення до Інтернету для емулятора; у моєму випадку я працював з дому, де я мав бездротове з'єднання, потім зайшов у офіс і підключив пряму, проте, хоча мій бездротовий зв’язок був відключений він не був відключений, що не підключалося до емулятора. я розумію, що коли він запускається, він шукає мережевий адаптер, і якщо тут виникнуть конфлікти, це може призвести до відсутності підключення до Інтернету. Щоб вирішити проблему, перейдіть до пункту Пуск> Налаштування> Мережеві підключення правою кнопкою миші на бездротовому підключенні до мережі (якщо ви не використовуєте бездротовий зв'язок) та виберіть відключити


1

Я не використовую проксі ... однак я використовую сценарій ... Чи все-таки навколо цього є. Я за брандмауером компанії


Ви знайшли якесь рішення?
Ганьба

0

Я не впевнений, чи це ваше питання, але ось як я виправив своє.

У мене завжди була помилка "Не знайдено серверів DNS" при запуску емулятора, і я багато досліджував Google, але безрезультатно. У будь-якому випадку я десь знайшов публікацію (не можу знайти її більше), яка говорить про те, що кількість епіляторів NIC, кількість записів DNS можуть впливати на емулятор. Крім того, знаючи, що емулятор використовує функцію API Windows (GetNetworkParams ()) для вирішення записів DNS, я не міг покладатися на файл% WINDOWS% \ System32 \ Hosts.

Однак я зайшов у властивості NIC (у Windows 7), щоб побачити, що я вказував статичний IP, але DNS-записи не було. Отже, я отримав записи DNS від маршрутизатора та включив їх у власність NIC. Я перезапустив емулятор, і тепер він використовує правильні записи DNS!

Я можу зараз використовувати своє інтернет-з'єднання з емулятором, і він творить чудеса!

Сподіваюся, це допомагає!


0

Я думав, що у мене виникли проблеми з підключенням емулятора до Інтернету, але виявилося, що це проблеми з кодом, який я використовував. Я знаю, що це очевидно, але в першу чергу спробуйте браузер на емуляторі, щоб переконатися, що у вас немає доступу до Інтернету. Я б заощадив годину, якби це зробив першим.


0

У мене Mac OS X 10.7.2, Eclipse Helios Service Release 2. Я також працюю через проксі, а мої налаштування IP - через DHCP. Я вирішив це питання спочатку, використовуючи цю статтю http://www.gitshah.com/2011/02/android-fixing-no-internet-connection.html, тоді я видалив налаштування емулятора і просто перейдіть до пункту Виконати-> Запустити конфігурації-> Ціль-> Додаткові параметри командного рядка емулятора і введіть там -http-proxy xxx.xx.111.1: 3128. Також я хотів би сказати, що коли я вводив такий DNS, як це: -dns-сервер xxx.xx.111.1 -http-proxy xxx.xx.111.1: 3128, він не працював, але коли я видалив DNS, він працював. Також хотілося б зазначити, що додаткові параметри командного рядка емулятора не відображаються без прокрутки до нижньої частини цього вікна. Я також хочу зазначити, що при зміні параметрів емулятора всі програми працюватимуть. Але якщо ви пишете додаткові параметри командного рядка емулятора, вам потрібно писати їх щоразу для кожної цілі програми у програмі Запустити конфігурації.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.