问题
在将Flutter项目升级到 Flutter 2
之后:
1 | environment: |
发现在使用 dio
发起请求时遇到了App崩溃的问题。
调试发现请求发出后会一直卡住,没有发出请求,也没有报错信息提示(在 VS Code
中)。
后来我用 AS
重新创建了一个空项目只添加 dio
用来测试请求。发现 https
链接的请求正常,访问本地的 http
链接会报错。错误信息如下:
1 | Reloaded 0 libraries in 47ms. |
如何解决
后来,在Flutter网站中搜索到相关的文档,给出了如下的解决方法。
Insecure HTTP connections are disabled by default on iOS and Android - Flutter
Android端
修改Flutter项目中 android/app/src/mian/AdnroidManifest.xml
文件:
1 | <uses-permission android:name="android.permission.INTERNET" /> |
即在上面的 <application>
中添加 android:usesCleartextTraffic="true"
一行。
IOS端
在文件 ios/Runner/info.plist
中添加以下键值对:
1 | <key>NSAppTransportSecurity</key> |
重新运行项目后,测试能够正常访问本地的 http
链接了。