Après la mise à jour de Cordova vers v6.4.0 et la plate-forme Android vers 6.0.0, mon application ne fonctionne plus. Je reçois ceci:
deviceready has not fired after 5 seconds. cordova.js:1223
Channel not fired: onCordovaInfoReady cordova.js:1216
Channel not fired: onCordovaConnectionReady cordova.js:1216
J'ai essayé de supprimer tous les plugins et de les ajouter un par un. J'ai trouvé que c'était un problème avec cordova-plugin-device et cordova-plugin-network-information. Tous mes plugins sont à jour
Si vous utilisez le plug-in Crosswalk dans votre application, je viens de confirmer que la désinstallation et la réinstallation via;
cordova plugin add https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview
Se débarrasse de
deviceready has not fired after 5 seconds. cordova.js:1223
Channel not fired: onCordovaInfoReady cordova.js:1216
Channel not fired: onCordovaConnectionReady cordova.js:1216
Vous pouvez voir le problème à la liste des problèmes de Crosswalk's Jira ici.
Cela devrait être corrigé dans cordova-Android 6.1.0. Il n'a pas encore été ajouté au registre npm, vous pouvez donc l'utiliser en le plaçant dans votre config.xml:
<engine name="Android" spec="https://github.com/Apache/cordova-Android.git#6.1.0"/>
Solution:
mettez l'appel "cordova.js" sur la dernière ligne de la page.
<script type="text/javascript" src="cordova.js"></script>
</body>
</html>
Salutation...
J'ai récemment rencontré ce même problème sur iOS. Finalement, ce qui a fonctionné pour moi était une simple remove
et add
de la plate-forme ios
:
cordova platform remove ios
cordova platform add ios
Cela faisait longtemps que je n'avais pas complètement reconstruit la plate-forme ios
et, tout comme vous, j'avais apporté d'autres modifications majeures au cours de cette période (mise à niveau de Cordova, mise à niveau de XCode, etc.). Ma théorie est que ma version config.xml
ou ios
existante était en quelque sorte non conforme aux dernières exigences de Cordova. Faire platform remove
et platform add
effacera les fichiers de construction et mettra à jour config.xml
.
Je doute que cela s’applique au PO, mais pour les autres personnes qui ont rencontré le même problème, veuillez vous assurer que vous avez inclus cordova.js
dans votre fichier index.html
. Si vous ne l'avez pas déjà fait, ajoutez cette ligne:
<script src="cordova.js"></script>
C'est une omission très courante quand on commence tout juste avec Cordova.
Assurez-vous que vous avez inclus cordova.js au bas du corps de votre index.html
Et n'oubliez jamais le type="text/javascript"
qui doit être localisé avant le src=""
<!DOCTYPE html>
<html>
<head></head>
<body>
...
<script type="text/javascript" src="cordova.js"></script>
</body>
</html>
Inclure également ces balises META sur la tête HTML
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
Ensuite, supprimez la plate-forme actuellement installée, puis ajoutez-la à nouveau.
cordova platform remove Android
cordova platform remove browser
cordova platform remove ios
cordova platform add Android
cordova platform add browser
cordova platform add ios
Servir puis actualiser votre navigateur ou le construire
Si cela ne résout pas votre problème, essayez de supprimer certains plug-in un par un ou de supprimer vos scripts pour rechercher les bogues.
Je ne connais pas la vraie raison de ce problème, Mais j'ai essayé de supprimer cordova-plugin-whitelist
et cordova-plugin-device
de la liste des plugins et les ai ajoutés à nouveau ...
Pour quelqu'un (comme moi) qui ne voudrait pas déclasser Cordova, veuillez suivre mon guide (j'ai réussi à essayer après une journée entière):
Ouvrez la CLI cordova à partir de la racine: cordova platform remove Android
Après avoir retiré: cordova platform add Android
. Les dossiers de votre projet (structure) sont conservés , alors ne vous inquiétez pas.
cordova plugin ls
, puis supprimez tous les plug-ins de Cordova, à l'exception de Notfication and Whitelist (les plug-ins installés par défaut de Cordova).cordova plugin add <plugin-id>
pour rajouter vos plugins d’utilisation un par un.Retournez dans votre dossier de sauvegarde: Clonez AndroidManifest.xml
et tout le contenu de app/src/main
. Cela inclut: assets , Java , libs et res . Un des fichiers dont vous avez seulement besoin (en fait, je suggère) de laisser de côté est res/xml/config.xml . Do not clone this. Laissez Cordova construire plus tard.
Cordova CLI (à partir du projet racine Cordova, et non des plates-formes/Android): cordova build Android
app/src/main/res/xml/config.xml
. Cordova ne pourra pas détecter votre 3ème pluginJ'exécute Visual Studio et j'ai cette erreur dans l'émulateur Chrome. J'ai constaté que le lancement de l'inspecteur Web permettait à Visual Studio de demander quelques-uns des points d'ancrage demandés par divers plug-ins. Un clic dans les diverses fenêtres contextuelles m'a permis de surmonter ce problème. Cela doit être en rapport avec la manière dont Visual Studio a configuré Cordova Plugin Simulation, mais avec ma configuration, la présentation des fenêtres contextuelles était bloquée.