Cordova Android 加载资源失败:net::ERR_NAME_NOT_RESOLVED

Cordova Android Failed to load resource: net::ERR_NAME_NOT_RESOLVED

我今天升级到最新的 Cordova - 5.4.1。 iOS 上的应用程序一直运行良好,但在 Android 上却不行。所有的请求都返回 404 错误,所以我深入研究这个话题,发现我需要 "cordova-plugin-whitelist"。我安装并添加了 <meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline' 'unsafe-eval'">

到index.html的header以及<access origin="*" /><allow-navigation href="*"/>到config.xml

现在每个对外部世界的请求都会返回 "net::ERR_NAME_NOT_RESOLVED"

在AndroidManifest.xml我有这两行所以我想这不是互联网访问的问题。 <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

我回答了很多与 cordova-plugin-whitelist 有关的问题,但似乎没有任何效果

我的config.xml ```

<?xml version='1.0' encoding='utf-8'?>
<widget id="app" version="1.1.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>app</name>
    <description>
        A sample Apache Cordova application that responds to the deviceready event.
    </description>
    <author email="dev@cordova.apache.org" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="index.html" />
    <allow-navigation href="*" />
    <platform name="ios">...splash screens and icons</platform>
    <platform name="android">...splash screens and icons</platform>
    <icon src="resources/android/icon/drawable-xhdpi-icon.png" />
    <preference name="SplashScreen" value="screen" />
    <preference name="SplashScreenDelay" value="3000" />
    <preference name="Orientation" value="default" />
    <feature name="phonegap-parse-plugin">
        <param name="id" value="org.apache.cordova.core.parseplugin" />
        <param name="url" value="https://github.com/fastrde/phonegap-parse-plugin" />
    </feature>
    <feature name="Insomnia (prevent screen sleep)">
        <param name="id" value="nl.x-services.plugins.insomnia" />
        <param name="url" value="https://github.com/EddyVerbruggen/Insomnia-PhoneGap-Plugin.git" />
    </feature>
    <feature name="Toast">
        <param name="id" value="cordova-plugin-x-toast" />
        <param name="url" value="https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin.git" />
    </feature>
    <feature name="Cordova SMS Plugin">
        <param name="id" value="com.cordova.plugins.sms" />
        <param name="url" value="https://github.com/cordova-sms/cordova-sms-plugin.git" />
    </feature>
    <feature name="OpenTokCordovaPlugin">
        <param name="id" value="com.tokbox.cordova.opentok" />
        <param name="url" value="https://github.com/doxyme/cordova-plugin-opentok" />
    </feature>
</widget>

```

在您应用的 'config.xml' 中,仅放置以下内容:

<allow-navigation href="*" />

并删除您添加到 index.html header 的内容。 那么如果它仍然不起作用,则意味着您的问题与 白名单插件 无关。

我在不同的 Android 项目中使用了这个插件,并且从来没有做更多的事情来让我的应用程序与 back-end.

进行通信

希望对您有所帮助!

我不知道问题出在哪里,但重启设备解决了问题。与应用程序无关,只是 phone 连接到互联网时遇到困难,即使它连接到 Wi-Fi 并且信号强度似乎是最大的。

我们 运行 遇到了一个类似的问题,我们在两个不同的系统上从 android 模拟器 运行 在 HAXM 中使用 Cordova 6.4.0 收到了 "Failed to load resource net::ERR_NAME_NOT_RESOLVED" 错误,并且版本 25 (7.1.1) android SDK。只需删除和添加 whilelist 插件即可解决我们的问题,而无需 更改任何配置文件。

我遇到了同样的问题,似乎没有什么可以解决的...我发现在我的情况下是启动画面图像尺寸太大(大约 3.2MB)...我使用了 this website 压缩文件然后工作。

重启设备似乎在本地为我解决了这个问题,但这项工作总是从支持部门返回给我。所以想要修复解决方案而不是解决方法。

白名单插件还有Content Security Policy声明:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">

这似乎已经解决了我的问题,但只有时间会证明一切,因为我永远无法让这个问题按需复制。

对我来说,none 提到的解决方案有效。对我有用的是直接从 repo 添加插件:

cordova plugin rm cordova-plugin-inappbrowser --force
cordova plugin add https://github.com/apache/cordova-plugin-inappbrowser.git

如果问题仍然存在,您可以继续删除并重新添加平台:

cordova platform save
cordova platform rm <platform>
cordova platform add <platform>