Cordova Android无法加载资源:net :: ERR_NAME_NOT_RESOLVED

时间:2016-01-07 18:33:12

标签: android cordova ionic

我今天升级到最新的Cordova - 5.4.1。 iOS上的应用程序保持正常工作,但不适用于Android。所有请求都返回404错误,所以我深入研究了这个主题,发现我需要&#34; cordova-plugin-whitelist&#34;。我安装了它并添加了 <meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline' 'unsafe-eval'">

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

现在每个对外部世界的请求都在返回&#34; net :: ERR_NAME_NOT_RESOLVED&#34;

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

我经历了很多关于与cordova-plugin-whitelist相关的SO的问题,但似乎没有任何工作

我的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>

```

6 个答案:

答案 0 :(得分:18)

我不知道问题是什么,但重启设备解决了它。没有任何与该应用相关的信息,只是手机连接到互联网时遇到了困难,即使它连接到Wi-Fi并且信号强度似乎最大化。

答案 1 :(得分:3)

在你的应用'config.xml'中,只放置:

<allow-navigation href="*" />

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

我在不同的Android项目中使用过这个插件,并且从来没有做过更多的事情来允许我的应用与后端进行通信。

希望有所帮助!

答案 2 :(得分:1)

我们遇到了类似的问题,我们收到了#34;无法加载资源net :: ERR_NAME_NOT_RESOLVED&#34;在使用Cordova 6.4.0和版本25(7.1.1)android SDK的HAXM中运行的android模拟器的两个不同系统上出错。只需删除并添加whilelist插件即可解决我们的问题,无需更改任何配置文件。

答案 3 :(得分:0)

我遇到了同样的问题,似乎没有解决任何问题......我发现在我的情况下,闪屏图像尺寸太大(大约3.2MB)......我用this website来压缩文件,然后工作。

答案 4 :(得分:0)

重新启动Device似乎可以在本地为我解决此问题,但是这项工作总是会从支持人员那里得到。因此,我们想为解决方案提供解决方案,而不是解决方法。

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

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

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

答案 5 :(得分:0)

对我而言,上述解决方案均无效。对我有用的是直接从仓库中添加插件:

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>