Cordovaをv6.4.0に更新してAndroid platformを6.0.0にすると、アプリが動作しなくなります。これを取得しています:
deviceready has not fired after 5 seconds. cordova.js:1223
Channel not fired: onCordovaInfoReady cordova.js:1216
Channel not fired: onCordovaConnectionReady cordova.js:1216
すべてのプラグインを削除して、1つずつ追加しようとしました。 cordova-plugin-deviceとcordova-plugin-network-informationに問題があることがわかりました。すべてのプラグインが最新です
アプリでCrosswalkプラグインを実行している場合、アンインストールして再インストールすることを確認しました。
cordova plugin add https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview
取り除く
deviceready has not fired after 5 seconds. cordova.js:1223 Channel not fired: onCordovaInfoReady cordova.js:1216 Channel not fired: onCordovaConnectionReady cordova.js:1216
この問題は、CrosswalkのJiraの問題リストで確認できます。
これはcordova-Android 6.1.0で修正されるはずです。まだnpm-registryに追加されていないので、これをconfig.xmlに配置して使用できます。
<engine name="Android" spec="https://github.com/Apache/cordova-Android.git#6.1.0"/>
溶液:
ページの最後の行に「cordova.js」を呼び出します。
<script type="text/javascript" src="cordova.js"></script>
</body>
</html>
挨拶...
私は最近、iOSでこの同じ問題に遭遇しました。最終的に私のために働いたのは、remove
プラットフォームの単純なadd
とios
でした。
cordova platform remove ios
cordova platform add ios
ios
プラットフォームを完全に再構築してからかなりの時間が経ちました。あなたと同じように、その間に他の大きな変更(Cordovaアップグレード、XCodeアップグレードなど)を行いました。私の理論は、私のconfig.xml
または既存のios
ビルドは、何らかの形で最新のCordova要件に準拠していませんでした。 platform remove
およびplatform add
は、ビルドファイルを消去して更新しますconfig.xml
。
これがOPに当てはまるとは思いませんが、この同じ問題に遭遇した他の人には、必ずcordova.js
あなたのindex.html
ファイル。まだ行っていない場合は、次の行を追加します。
<script src="cordova.js"></script>
Cordovaを使い始めたばかりのとき、これは非常によくある省略です。
Index.htmlの本文の下部にcordova.jsが含まれていることを確認してください
type="text/javascript"
の前に配置する必要があるsrc=""
を忘れないでください
<!DOCTYPE html>
<html>
<head></head>
<body>
...
<script type="text/javascript" src="cordova.js"></script>
</body>
</html>
また、htmlヘッドにこのメタタグを含めます
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
次に、現在インストールされているプラットフォームを削除してから、再度追加します
cordova platform remove Android
cordova platform remove browser
cordova platform remove ios
cordova platform add Android
cordova platform add browser
cordova platform add ios
それを提供してから、ブラウザを更新するか、ビルドします
それでも問題が解決しない場合は、プラグインを1つずつ削除するか、スクリプトを削除してバグを見つけてください。
この問題の本当の理由はわかりませんが、cordova-plugin-whitelist
およびcordova-plugin-device
プラグインリストから追加し、再度追加しました。幸運にも問題を解決しました
Cordovaのダウングレードを希望しない人(私のような人)の場合は、ガイドに従ってください(1日試してみましたが成功しました)。
ルートからCordova CLIを開きます:cordova platform remove Android
削除後:cordova platform add Android
。パッケージプロジェクト(構造)フォルダーはkeptなので、心配しないでください。
cordova plugin ls
を実行してから、すべてのcordovaプラグインexecpt Notfication and Whitelist(Cordovaのデフォルトでインストールされたプラグイン)を削除します。cordova plugin add <plugin-id>
を使用して、使用中のプラグインを1つずつ追加します。バックアップされたフォルダに戻ります:AndroidManifest.xml
およびapp/src/main
内のすべてをクローンバックします。これには、アセット、Java、libs、およびresが含まれます。除外するために必要な(実際に私が提案する)ファイルの1つは、res/xml/config.xmlです。 notこれを複製します。 Cordovaを後でビルドします。
Cordova CLI(プラットフォーム/ AndroidではなくルートCordovaプロジェクトから):cordova build Android
app/src/main/res/xml/config.xml
に戻します。 Cordovaは3番目のプラグインを検出できません私はVisual Studioを実行していますが、Chrome=エミュレーターでこのエラーが発生しました。 Visual StudioがCordovaプラグインシミュレーションをセットアップする方法に関係しているはずですが、セットアップではポップアップの表示がブロックされていました。