PhoneGap 3 plugin: exec() appel à l'inconnu, le plugin “...”
J'ai essayé de mettre à jour un plugin v3, et j'ai réussi à obtenir après le chargement des plugins questions, et j'ai réussi à exposer le plugin à l'environnement du client (faire des changements à la façon dont exec travaux, etc).
Mais lorsque je regarde l'adb logcat avec
adb logcat | grep -v nativeGetEnabledTags | grep -i web
J'obtiens cette erreur:
D/PluginManager(11189): exec() call to unknown plugin: WebSocket
Je ne peux pas savoir ce qui va mal, et je ne suis pas sûr pourquoi, la Android construire ne pouvez pas voir le plugin.
J'ai poussé TOUT le code d'un dépôt github, donc si quelqu'un est en mesure de reproduire et de les aider, je serais très bienvenue! Je suis aussi en train d'essayer d'écrire mon expérience de la conversion et l'enregistrement de l'pièges que je les ai frappé (il y en a certains dans le readme, mais il est incomplet):
Voici le repo: https://github.com/remy/phonegap_test
– Remy
Vous devez vous connecter pour publier un commentaire.
définir votre plugin dans "res/xml/config.xml"
trouver ces lignes dans le fichier
et ajouter ces juste après:
remplacer le mannequin noms (MyPluginName, plugins.plugin.class, etc) avec les noms réels. Cela fonctionne pour moi, quand j'ai été cette erreur:
name
attribut dansfeature
est le même que levalue
attribut dansparam
. Donc,<feature name="com.phonegap.plugins.plugin.class">
cordova prepare android
son de supprimer l'entrée pour MyPlugin de res/xml/config.xml et j'ai besoin d'manuellement mettre à jour avant de lancer le projet. Sauriez-vous comment résoudre ce problème?cordova.require("cordova/plugin/MyPluginName");
mais il est en place différente danssrc/
. La valeur que j'ai utilisé est quelque chose commecom.mycompanyname.modulename.pugins.MyPluginName
. Est-ce exact ?platforms\android\android.json
et j'ai remarqué qu'un record pour mon plugin est ajouté àapp/src/main/res/xml/config.xml
(probablement en raison des différences de cordoue version). Je l'ai déplacé àres/xml/config.xml
le long de avec d'autres plugins et il fixeplatforms\android\android.json
fichier, tout sera remis à zéro par le constructeur du dossier du plugin.Je suis tout d'un coup, d'obtenir le même problème avec mon téléphone écart de construire (2.6). Même code travaillé avant donc ça doit être une accumulation de problème.
Avez-vous essayé d'ouvrir votre apk et voir si config.xml est inclus (il est où plugins sont définis).
Sur Android Studio 1.0.1 (fonctionnant sur Mac OS 10.9.5) + Cordova 4.2.0, j'ai résolu un problème similaire ("exec() appel à l'inconnu, le plugin") comme suit:
il est arrivé que le contenu de la balise:
Sous YourCordovaProjectName/config.xml n'a pas été dupliqué sous YourCordovaProjectName/platforms/android/res/xml/config.xml
J'ai dû modifier le fichier config.xml sous YourCordovaProjectName/plates-formes/android/res/xml/ et à ajouter le tag:
Puis il a travaillé.
Je vais aussi ajouter que j'ai eu le même problème avec IOS, j'ai dû entrer manuellement:
Dans le fichier config.xml dans le dossier YourCordovaProjectName/plates-formes/ios/YourCordovaProjectName
J'espère que ça sera corrigé dans le futur et le contenu de YourCordovaProjectName/config.xml sera bien reflété dans le config.xml les fichiers qui sont sous chacune des plates-formes spécifiques (ça a fonctionné correctement pour Android il ya quelques mois).
Pour l'ajout de la définition d'un plugin en sous android ProjectFolder/platforms/android/res/xml/config.xml,mise à jour de la ProjectFolder/plugins/android.json
"cordova construire” commande va lire ce android.fichier json et mise à jour de la ProjectFolder/platforms/android/res/xml/config.xml automatiquement avec tous les plugins mentionnés ici.
Êtes-vous d'obtenir un succès deviceready? J'ai eu cette erreur dans le passé, lorsque mon application a été silencieusement à défaut, pour d'autres raisons dans mon code la cause de mes deviceready à jamais le feu. Dans mon cas, le silence de l'erreur était due à une javascript, des erreurs de syntaxe dans mon application.initialize() de blocs de code.