我有一个简单的Cordova应用程序,它加载了一个包含我的网站网址的Web视图。问题是该网站尚未投入生产,所以我需要使用http://example.test
而不是https://example.com
进行本地开发。
我尝试将本地网址放在网络视图打开方法中:
cordova.InAppBrowser.open('http://example.test');
但它给了我以下错误:
Application Error. net::ERR_CLEARTEXT_NOT_PERMITTED (http://example.test/)
上传预生产站点是解决此问题的唯一方法吗?我找不到任何选项/插件来在网络视图中使用本地域。
自Android 9(Pie)起,您无法再连接到 http://网站。这是一篇关于它的博客文章。
要修复它:
在你的AndroidManifest中,你必须添加android:usesCleartextTraffic="true"
例如,您可以将其添加到您的配置中.xml
<widget xmlns:android="http://schemas.android.com/apk/res/android" ...>
<platform name="android">
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
<application android:usesCleartextTraffic="true" />
</edit-config>
...
</platform>
如果这样做,则必须将架构xmlns:android="http://schemas.android.com/apk/res/android"
添加到<widget>
-tag 中。请参阅此答案以供参考。