Как решить SocketException: Ошибка поиска хоста: «www.xyz.com» (Ошибка ОС: Нет адреса, связанного с именем хоста, errno = 7) - PullRequest
0 голосов
/ 06 февраля 2019

Всякий раз, когда я пытаюсь выполнить http-вызов через 20 секунд, я получаю в консоли следующую ошибку:

E/flutter ( 8274): [ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception:
E/flutter ( 8274): SocketException: Failed host lookup: 'flutter-project-xxxxx.firebaseio.com' (OS Error: No address associated with hostname, errno = 7)

Эта ошибка возникает для каждого метода и каждого маршрута, который я вызываю через пакет http приложения.

Я занимаюсь разработкой приложения для флаттера в Windows, используя виртуальное устройство AVD из Android Studio.

Версии: http: ^ 0.12.0 + 1 флаттер: 1.0

Случаи:

  1. Из дома или через модем с моего телефона: подключение работает нормально на каждой части виртуального устройства

  2. Из моей рабочей сети (позадибрандмауэр):

Только с Android Web View я могу без проблем просматривать Интернет (я могу даже вызвать тот же URL-адрес, который я использую в коде, и он работает).Я получаю сообщение об ошибке подключения при использовании любого другого приложения (Chrome, Google Play, ecc ...) на виртуальном устройстве и, в частности, «SocketException» при тестировании моего приложения.

В чем разница междузвонки из этого приложения?Есть ли способ направить вызовы моего приложения так же, как и в веб-просмотре?

Спасибо!

Ответы [ 5 ]

0 голосов
/ 02 августа 2019

Если вы используете эмулятор, убедитесь, что мобильные данные активны

0 голосов
/ 07 июля 2019

Была такая же проблема.Добавлены права на использование android: name = "android.permission.INTERNET" в "android / app / src / main / AndroidManifest.xml".Все еще не мог работать, затем я вышел и перезапустил эмулятор, затем он заработал.

0 голосов
/ 06 апреля 2019

Добавление интернет-разрешения - это не только решение.
Вы также должны убедиться, что вы находитесь в сети, будь то мобильный или эмулятор

  1. Убедитесь, что вы в сети, будь то мобильный илиэмулятор

  2. Убедитесь, что вы дали разрешение на доступ к Интернету в android / app / src / main / AndroidManifest.xml вашего приложения

    <uses-permission android:name="android.permission.INTERNET"/>

0 голосов
/ 30 апреля 2019

У меня была эта ошибка даже в режиме отладки (android / app / src / debug / AndroidManifest.xml имеет <uses-permission android:name="android.permission.INTERNET" />)

Я стер данные

C:\Users\username\AppData\Local\Android\Sdk\emulator> .\emulator -avd Nexus_5X_API_28 -wipe-data

, затем запустил main.дротик.

0 голосов
/ 23 марта 2019

Попробуйте добавить <uses-permission android:name="android.permission.INTERNET" /> в файл AndroidManifest.xml.

...