2016-01-07 376 views
7

我今天升級到最新的科爾多瓦 - 5.4.1。 iOS上的應用程序保持正常工作狀態,但不適用於Android。所有請求都返回了404錯誤,因此我深入瞭解該主題並發現需要「cordova-plugin-whitelist」。我安裝了它,並添加 <meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline' 'unsafe-eval'"> Cordova Android無法加載資源:net :: ERR_NAME_NOT_RESOLVED

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

和現在對外部世界的每一個請求返回的「網:: ERR_NAME_NOT_RESOLVED」

在AndroidManifest.xml我有這兩行,所以我想這不是一個Internet訪問問題。 <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

我通過對因此與科爾多瓦 - 插件白名單,但沒有很多問題就似乎工作

我的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="[email protected]" 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> 

```

+0

您是否在使用cordova-plugin-whitelist並配置了Content-Security-Policy?你之前使用的是什麼版本的cordova? – QuickFix

+0

我遇到過這個問題。發現它發生在互聯網緩慢時。 – Yusuf

回答

13

我不知道是什麼問題,但重新啓動設備解決它。與應用程序沒有任何關係,只是手機在連接到互聯網時遇到了困難,即使它已連接到Wi-Fi並且信號強度似乎最大。

+0

好的。事實上,奇怪的是,涉及'cordova-whitelist-plugin',因爲帶有空的* Content-Security-Policy *的'應該讓所有內容都通過。很高興你解決了你的問題 – arainone

+0

我有一個空的內容安全策略,它沒有工作,直到我rsetarted設備。 我不能相信重新啓動設備也解決了我的問題。 – alicona

+1

因爲我忘記啓用wi-fi而導致同樣的問題,因此提升。 –

3

在你的應用的'config.xml'中,只有這個:

<allow-navigation href="*" /> 

並刪除您添加到您的index.html標題。 然後,如果它仍然不起作用,這意味着您的問題與白名單插件無關。

我在不同的Android項目中使用了這個插件,從來沒有做過更多的事情來允許我的應用程序與後端進行通信。

希望有幫助!

+1

不幸的是,它並沒有幫助。我編輯了我的問題並添加了config.xml –

+0

那麼,你試過了嗎?並有同樣的問題? – arainone

+0

啊,我跳過了部分「並刪除了你添加的index.html」。當我這樣做時,我得到「沒有找到Content-Security-Policy元標記,請在使用cordova-plugin-whitelist插件時添加一個。」和請求返回完全相同的錯誤「net :: ERR_NAME_NOT_RESOLVED」 –

1

我們遇到了一個類似的問題,那就是在使用Cordova 6.4.0和版本25(7.1.1)的HAXM中運行的android模擬器的兩個不同系統上收到「無法加載資源net :: ERR_NAME_NOT_RESOLVED」 android SDK。只需刪除並添加whilelist插件就可以解決我們的問題而不需要更改任何配置文件。

0

我有同樣的問題,似乎沒有解決......我知道,在我的情況是飛濺圖像尺寸太大(約3.2MB)...我用this website來壓縮文件和他們工作。