安卓9:WebView 中不允许使用明文 HTTP 流量

3
我正在使用webview_flutter插件加载托管在本地主机上(使用Dart创建的服务器,在手机上运行)的页面,但我遇到net::ERR_CLEARTEXT_NOT_PERMITTED错误,无法将服务器设置为HTTPS。

我已经实施了此处所有的解决方案,但这些解决方案都不起作用:

  • 添加network_security_config.xml文件
  • 添加android:usesCleartextTraffic选项

是否还有其他解决方案?


1
嗨,伙计,你解决了吗?我这里也遇到了同样的问题。 - Jaime
我不再需要使用Web服务器,因为webview_flutter可以加载本地文件。我不知道我是怎么错过这个的。要加载本地存储文件(html、css和js),您必须使用 final directory = (await getApplicationDocumentsDirectory()).path; var url = "file:///$directory/path/to/index.html"; 提供.html文件的完整路径,并且它将正确加载。 - Ionel Lupu
事情是我需要从Web服务器获取内容。 - Jaime
我重新实现了关于这个问题的前7个谷歌搜索结果中的所有内容,最终它起作用了。 - Ionel Lupu
1个回答

0

我是一名安卓开发者,让我告诉你。

打开安卓清单文件(包括调试和发布版本),然后添加

android:usesCleartextTraffic="true"

应用程序标签

<application
    android:name="io.flutter.app.FlutterApplication"
    android:label="..."
    android:icon="@mipmap/ic_launcher"
    android:usesCleartextTraffic="true">

发布版文件路径:android/app/src/main/AndroidManifest.xml 调试版文件路径:android/app/src/debug/AndroidManifest.xml

enter image description here

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接