如何解决SocketException:主机查找失败:'www.xyz.com'(操作系统错误:没有与主机名关联的地址,errno = 7)

问题描述 投票:4回答:3

每当我在大约20秒后尝试进行http调用时,我会在控制台中遇到以下错误:

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)

我通过app http包调用的每个方法和每个路由都会发生此错误。

我正在使用Android Studio中的AVD虚拟设备在Windows上开发一个颤动的应用程序。

版本:http:^ 0.12.0 + 1颤振:1.0

案例:

  1. 从家里或通过我的手机绑定:连接在虚拟设备的每个部分都能正常工作
  2. 从我的工作网络(防火墙后面):

只有Android Web View我可以毫无问题地浏览互联网(我甚至可以调用我在代码中使用的相同网址,它可以工作)。在测试我的应用时,我在虚拟设备中使用任何其他应用程序(Chrome,Google Play,ecc ...)时遇到连接错误,特别是“SocketException”。

来自该应用的来电有什么区别?有没有办法以与webview中的方式相同的方式路由我的应用程序调用?

谢谢!

android http dart flutter socketexception
3个回答
3
投票

尝试将<uses-permission android:name="android.permission.INTERNET" />添加到您的AndroidManifest.xml文件中。


3
投票

添加互联网权限不仅是一种解决方案, 无论是移动设备还是模拟器,您还必须确保自己在线

  1. 无论是移动设备还是模拟器,请确保您在线
  2. 确保您已在应用的android / app / src / main / AndroidManifest.xml中获得了互联网权限

0
投票

即使在调试模式下我也有错误(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.dart。

© www.soinside.com 2019 - 2024. All rights reserved.