我今天升级到了最新的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的标题,以及将<access origin="*" /><allow-navigation href="*"/>
添加到config.xml
现在,对外部世界的每个请求都返回“net::ERR_NAME_NOT_RESOLVED”
在AndroidManifest.xml中,我有这两行代码,所以我猜这不是Internet访问的问题。<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
我经历了许多问题,所以有关cordova插件白名单,但似乎没有工作
我的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>
7条答案
按热度按时间brtdzjyr1#
我不知道是什么问题,但重新启动设备解决了这个问题。与应用程序无关,只是手机连接互联网有困难,即使它连接到Wi-Fi和信号强度似乎是最大的。
eivgtgni2#
在应用的"config.xml"中,仅放置以下内容:
然后删除你添加到index.html头中的内容,如果它仍然不起作用,那就意味着你的问题与白名单插件无关。
我在不同的Android项目中使用过这个插件,从来没有做过比这更多的事情来允许我的应用程序与后端通信。
希望能有所帮助!
dz6r00yl3#
我们遇到了一个类似的问题,我们在两个不同的系统上收到了“Failed to load resource net::ERR_NAME_NOT_RESOLVED”错误,来自运行在HAXM中的Android模拟器,使用Cordova 6.4.0和版本25(7.1.1)Android SDK。简单地删除和添加whilist插件就解决了我们的问题,**无需更改任何配置文件。
b4lqfgs44#
我也遇到了同样的问题,似乎什么都解决不了...我发现在我的情况下是闪屏图像大小太大(约3. 2MB)...我使用this website压缩文件,然后工作。
q3qa4bjr5#
重新启动设备似乎在本地为我解决了这个问题,但这件工作总是从支持部门返回给我。所以希望有一个解决方案的修复程序,而不是变通方案。
白名单插件也有Content Security Policy声明:
这似乎已经为我解决了这个问题,但只有时间才能证明,因为我永远不能让这个问题按需复制。
rseugnpd6#
对我来说,上面提到的解决方案都不起作用。对我起作用的是直接从repo添加插件:
如果问题仍然存在,您可以继续删除并重新添加平台:
t0ybt7op7#
您似乎正在尝试发送请求,但您已脱机,请尝试检查Internet连接。