57 votes

Erreur lors de l'initialisation de Cordova: Classe non trouvée

J'ai suivi le tutoriel de Phonegap de l'officiel Phonegap.com site (mise en route avec Android).

J'ai créé le projet avec suivi toutes les étapes.

  1. créé de l'activité et de l'étendue de la "DroidGap" et a ajouté loadURL méthode onCreate().
  2. Ajouté cordova-2.0.0.js et cordova-2.0.0.jar sur le dossier respectif.
  3. Ajouté le fichier jar pour le build path
  4. Chargé le fichier js de la balise html
  5. Ajouté des autorisations de AndroidMainfeast.xml
  6. copié le dossier xml contenant "configs.xml"

Maintenant, je ne comprends pas où est le problème. C'est en montrant l'erreur ci-dessous, comme indiqué dans la capture d'écran enter image description here

Voici mon fichier HTML

<!DOCTYPE html>
<html>
  <head>
    <title>Notification Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for Cordova to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // Cordova is ready
    //
    function onDeviceReady() {
        // Empty
    }

    // Show a custom alert
    //
    function showAlert() {
        navigator.notification.alert(
            'You are the winner!',  // message
            'Game Over',            // title
            'Done'                  // buttonName
        );
    }

    // Beep three times
    //
    function playBeep() {
        navigator.notification.beep(3);
    }

    // Vibrate for 2 seconds
    //
    function vibrate() {
        navigator.notification.vibrate(2000);
    }

    </script>
  </head>
  <body>
    <p><a href="#" onclick="showAlert()">Show Alert</a></p>
    <p><a href="#" onclick="playBeep()">Play Beep</a></p>
    <p><a href="#" onclick="vibrate()">Vibrate</a></p>
  </body>
</html>

Tous les conseils? Merci!

64voto

Simon MacDonald Points 19216

C'est config.xml non configs.xml .

D'après les journaux que je constate, ce fichier manque dans votre répertoire d'applications res/xml . Il est inclus dans la distribution à lib/android/res/xml/config.xml afin de copier ce fichier dans votre répertoire res/xml et vous devriez être tous ensemble.

42voto

bflesch Points 323

Tout comme aharris88 dans sa réponse à cette question, j'ai eu l' [CORDOVA] Error initilizing Cordova: Class not found message d'erreur lors de l'utilisation de Cordova 3.1.0 sur mon Android dev phone après la migration de Phonegap 3.0.

Tous les battre avec l' config.xml le fichier dans l' /platforms/android/res/xml répertoire n'a pas aidé. Basé sur le Stackoverflow réponse mentionné ci-dessus, j'ai essayé de "recommencer" par la réinstallation de la plate-forme Android de soutien:

cordova platform rm android
cordova platform add android

Après cette étape, il a travaillé à nouveau, et j'ai été en mesure d' cordova build android && cordova run android sans plus de problèmes.

15voto

Kazmin Points 232

J'ai eu cette erreur à cause d'un plugin que j'ai supprimé. J'ai ajouté

 <plugin name="Device" value="org.apache.cordova.Device"/>
 

dans le fichier config.xml à nouveau et cela a été corrigé.

8voto

Pratik Butani Points 4290

Mon tu n'as pas plugin suivant:

 <plugin name="Device" value="org.apache.cordova.Device"/>
 

Vous devez mettre cela entre <plugins></plugins> . comme

 <plugins>
    <plugin name="Device" value="org.apache.cordova.Device"/>
</plugins>
 

6voto

Eric Points 31

Ainsi,l'erreur que j'ai trouvé est:

05-28 08:19:53.139: E/PluginManager(1478): ===================================================================================== 05-28 08:19:53.139: E/PluginManager(1478): ERREUR: config.xml est manquant. Ajouter res/xml/config.xml pour votre projet. 05-28 08:19:53.139: E/PluginManager(1478): https://git-wip-us.apache.org/repos/asf?p=incubator-cordova-android.git;a=blob;f=framework/res/xml/plugins.xml

mais j'ai trouvé /res/xml/config.xml dans mon projet

enfin,j'ai trouvé l'erreur dans org.apache.cordoue.l'api.PluginManager:

public void loadPlugins() {
int id = this.ctx.getActivity().getResources().getIdentifier("config", "xml",    this.ctx.getActivity().getClass().getPackage().getName());
...

devrait changer:

public void loadPlugins() {
int id = this.ctx.getActivity().getResources().getIdentifier("config", "xml",    this.ctx.getActivity().getPackageName());
...

vous avez pu lire plus à propos de la méthode "getIdentifier(String nom, String defType, Chaîne defPackage)" dans la doc officiel

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X