首页 > 解决方案 > 出于开发目的,如何使用本地 url 打开 Cordova webview

问题描述

我有一个简单的 Cordova 应用程序,它使用我的网站 url 加载 web 视图。问题是该站点尚未投入生产,因此我需要使用http://example.test而不是https://example.com本地开发。

我尝试将本地 url 放在 webview 打开方法中:

cordova.InAppBrowser.open('http://example.test');

但它给了我以下错误:

Application Error. net::ERR_CLEARTEXT_NOT_PERMITTED (http://example.test/)

上传预生产网站是解决此问题的唯一方法吗?我找不到任何选项/插件来在 web 视图中使用本地域。

标签: cordovawebviewcordova-pluginshybrid-mobile-app

解决方案


Android 9 (Pie)开始,您将无法再连接到 http:// 网站。这是一篇关于它的博文。

要解决这个问题:

在您的 AndroidManifest 中,您必须添加android:usesCleartextTraffic="true"

例如,您可以将其添加到您的config.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 中。请参阅此答案以供参考。


推荐阅读