今日、最新の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には2つの行があるので、インターネットアクセスに問題はないと思います。 <uses-permission Android:name="Android.permission.INTERNET" /> <uses-permission Android:name="Android.permission.ACCESS_WIFI_STATE" />
私はSO 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="[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>
「」
問題が何であるかはわかりませんが、デバイスを再起動すると解決しました。アプリとは関係ありません。Wi-Fiに接続されていて、信号強度が最大になっているように見えても、電話だけがインターネットに接続するのに問題がありました。
アプリの「config.xml」に、これだけを配置します。
<allow-navigation href="*" />
そして、index.htmlヘッダーに追加したものを削除します。それでも機能しない場合は、問題がホワイトリストプラグインに関連していないことを意味します。
私はこのプラグインをさまざまなAndroid=プロジェクトで使用し、アプリがバックエンドと通信できるようにするためにこれ以上のことをする必要はありませんでした。
お役に立てば幸いです。
同様の問題が発生し、AndroidエミュレーターがCordova 6.4.0とバージョン25を使用してHAXMで実行されています。 (7.1.1)AndroidSDK。whilelistプラグインを削除して追加するだけで問題が解決しましたなし構成ファイルを変更します。
私にとって、上記の解決策はどれもうまくいきませんでした。私のために働いたのは、リポジトリから直接プラグインを追加することでした:
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>
私は同じ問題を抱えていて、何も解決しないようでした...そして、私の場合、スプラッシュスクリーンの画像サイズが大きすぎる(約3.2MB)とわかりました...使用しました このウェブサイト ファイルを圧縮してから機能します。
デバイスを再起動すると、この問題はローカルで解決されたようですが、この作業は常にサポートから戻ってきます。したがって、回避策ではなく解決策の修正が必要です。
ホワイトリストプラグインには コンテンツセキュリティポリシー 宣言もあります。
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
これで問題は解決したようですが、この問題をオンデマンドで再現させることはできないので、時間が経てばわかります。