web-dev-qa-db-fra.com

GCM: Java.lang.noclassdeffounderror: com.google.Android.gcm.GCMRegistrar

J'essaie d'enregistrer un périphérique sur GCM en utilisant le code suivant:

    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    GCMRegistrar.checkDevice(this);
    // the following function can be removed when deploying the app
    GCMRegistrar.checkManifest(this);

    final String regId = GCMRegistrar.getRegistrationId(this);
    if (regId.equals("")) {
      GCMRegistrar.register(this, SENDER_ID);
    } else {
      Log.v(TAG, "Already registered");
    } 

J'ai importé import com.google.Android.gcm.GCMRegistrar;
et également ajouté GCM.jar à mon chemin de construction dans Eclipse, que j’ai eu par le téléchargement du sdk

S'il vous plaît aider!

20
user1492955

Dans la mise à jour ADT (au-dessus de ADT 17), vous devez placer les fichiers jar dans le dossier libs et non pas lib. Veillez donc à placer le fichier gcm.jar dans le dossier libs et non pas lib.

31
Lalit Poptani

Il suffit d'aller dans les propriétés du projet -> chemin de construction Java -> "commander et exporter", cochez maintenant le fichier jar "GCM.jar" que vous avez ajouté.

28
user1503987

Mon gcm.jar était déjà dans les bibliothèques, donc ce n'était pas un problème de nommage de dossier pour moi ..

Je devais aller à Right Click> Build Path> Configure Build path... pour le projet en question et j'ai supprimé les éléments suivants:

  • Tous les fichiers en attente en dehors d'un dossier/lot
  • Android Private Libraries
  • Tout paquet contenant le mot "référence" (vous ne pouvez pas en avoir un)

Vous risquez de rencontrer de nombreuses "erreurs" dans votre projet. Redémarrez Eclipse et laissez-le ainsi. Une fois qu'il nettoie, vous n'aurez plus d'erreur. Exécutez votre projet et votre alto.

Merci à DLew pour cette réponse.

10
Jacksonkr

Créez un dossier libs dans votre dossier de projet et placez-y le fichier gcm.jar. Ajoutez-le ensuite à votre chemin de classe en utilisant add external jars in configurez le chemin de construction option.

6
Shamitha

Vous devez placer le fichier gcm.jar dans libs , puis aller dans projet Propriétés> Chemin de construction Java> Bibliothèques et l'ajouter à votre chemin à l'aide de Ajouter des fichiers JAR externes ... , après dans Commande et exportation vous vérifiez gcm.jar et appuyez surOK. Cela devrait fonctionner

3
Carlos ALVAREZ

Assurez-vous que le fichier jar gcm se trouve dans le bon dossier libs et ajouté au chemin de génération Java dans les propriétés de votre projet.

1
Klaasvaak

J'ai eu le même problème, après la mise à jour SDK dans mon projet. Cela m’a aidé: je viens d’ajouter une bibliothèque de support dans «Outils Android». J'espère que cela aide quelqu'un d'autre.

1
busylee

Moi aussi j'ai eu le même problème, après avoir ajouté Android-support-v4.jar et gcm.jar dans mon dossier libs, aucun problème n'a trouvé son travail comme un charme 

Merci

1
Madhu

Le champ SENDER_ID doit être l'ID du projet à partir de la création de votre projet Google Api. Lisez le début de cette page: http://developer.Android.com/guide/google/gcm/gs.html# libs

Le tag doit également être une chaîne -> "" Nom du tag "

0
matt.hallman

Bonjour, Vous utilisez les anciennes implémentations de GCM, utilisez les nouvelles implémentations disponibles sur https://developers.google.com/cloud-messaging/Android/start

0
Jotiram Chavan