android - 如何解决 SocketException: Failed host lookup: 'www.xyz.com' (OS Error: No address associated with hostname, errno = 7)
问题描述
每当我在大约 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)
我通过应用程序 http 包调用的每个方法和每个路由都会发生此错误。
我正在使用 Android Studio 的 AVD 虚拟设备在 Windows 上开发一个颤振应用程序。
版本:
http: ^0.12.0+1
flutter: 1.0
案例:
在家中或通过手机进行网络共享:虚拟设备的每个部分都可以正常连接
从我的工作网络(防火墙后面):
只有使用 Android Web View,我才能毫无问题地浏览互联网(我什至可以调用相同的 url,我在代码中使用它并且它可以工作)。在测试我的应用程序时,在虚拟设备中使用任何其他应用程序(Chrome、Google Play、ecc...)时出现连接错误,特别是“SocketException”。
来自该应用程序的呼叫有什么区别?有没有办法像在 webview 中一样路由我的应用程序调用?
谢谢!
解决方案
添加互联网权限不仅是一种解决方案。
您还必须确保您在线,无论是移动设备还是模拟器
确保您在线,无论是移动设备还是模拟器
确保您已在应用的 android/app/src/main/AndroidManifest.xml 中授予互联网权限
<uses-permission android:name="android.permission.INTERNET"/>
推荐阅读
- java - Java中连续链表的反向子部分
- python - 在 Python 中,如何在列表和字符串之间留出空格?
- unity3d - Unity - 平台在碰撞时掉落
- python - 如何用 sigmoid 层替换 softmax 层?(Theano,MNIST 分类)
- c++ - 尝试使用 SDL 为音频分配回调变量
- c# - Rest api 获取 curl C#
- javascript - 为什么我第二次 console.log(course) 时视图没有更新
- string - 使用 Sed 将文本文件中的子字符串替换为字符串数组
- c# - POST 模型(DTO)与列表到控制器
- json - 如何从字典中的列表中访问字典中的值?