web-dev-qa-db-ja.com

Android:5秒後にDevicereadyが起動しない

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に問題があることがわかりました。すべてのプラグインが最新です

24

アプリで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の問題リストで確認できます。

https://crosswalk-project.org/jira/browse/XWALK-7422

9
Brad W

これはcordova-Android 6.1.0で修正されるはずです。まだnpm-registryに追加されていないので、これをconfig.xmlに配置して使用できます。

<engine name="Android" spec="https://github.com/Apache/cordova-Android.git#6.1.0"/>

4
DJ_HOEK

溶液:

ページの最後の行に「cordova.js」を呼び出します。

<script type="text/javascript" src="cordova.js"></script>
</body>
</html>

挨拶...

3
Gabriel Alberto

私は最近、iOSでこの同じ問題に遭遇しました。最終的に私のために働いたのは、removeプラットフォームの単純なaddiosでした。

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を使い始めたばかりのとき、これは非常によくある省略です。

2
Elliot B.

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つずつ削除するか、スクリプトを削除してバグを見つけてください。

0
StefansArya

この問題の本当の理由はわかりませんが、cordova-plugin-whitelistおよびcordova-plugin-deviceプラグインリストから追加し、再度追加しました。幸運にも問題を解決しました

0
rashidnk

Cordovaのダウングレードを希望しない人(私のような人)の場合は、ガイドに従ってください(1日試してみましたが成功しました)。

  • 現在の(プラットフォーム/ Androidではなく、cordovaルート)プロジェクトをバックアップします。
  • ルートから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内のすべてをクローンバックします。これには、アセットJavalibs、およびresが含まれます。除外するために必要な(実際に私が提案する)ファイルの1つは、res/xml/config.xmlです。 notこれを複製します。 Cordovaを後でビルドします。

  • Cordova CLI(プラットフォーム/ AndroidではなくルートCordovaプロジェクトから):cordova build Android

  • サードパーティのプラグインがある場合、または異なるコンテンツsrc、プロパティを使用している場合は、それらをコピーして(機能、コンテンツsrc、作成者、...)app/src/main/res/xml/config.xmlに戻します。 Cordovaは3番目のプラグインを検出できません
  • Android Studio、「修復済み」プロジェクトをインポート->プロジェクトを作成してから、アプリを実行します。お楽しみください!
0
JeffNhan

私はVisual Studioを実行していますが、Chrome=エミュレーターでこのエラーが発生しました。 Visual StudioがCordovaプラグインシミュレーションをセットアップする方法に関係しているはずですが、セットアップではポップアップの表示がブロックされていました。

0
Nico Westerdale