web-dev-qa-db-ja.com

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

次のコードを使用してデバイスをGCMに登録しようとしています。

    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");
    } 

Importcom.google.Android.gcm.GCMRegistrarをインポートしました。
また、SDKのダウンロードで取得したEclipseのビルドパスにGCM.jarを追加しました

助けてください !

20
user1492955

更新されたADT(ADT 17より上)では、jarファイルをlibsではなくlibフォルダー内に配置する必要があります。したがって、libsフォルダではなくlib内にgcm.jarファイルを配置するようにしてください。

31
Lalit Poptani

プロジェクトのプロパティに移動するだけです-> Javaビルドパス->「注文してエクスポート」ここで追加したjarファイル「GCM.jar」にチェックマークを付けます

28
user1503987

私のgcm.jarはすでにライブラリに含まれていたので、フォルダ名の問題ではありませんでした。

問題のプロジェクトのためにRight Click> Build Path> Configure Build path...に移動する必要があり、以下を削除しました。

  • フォルダ/バンドルの外に残っているファイル
  • Android Private Libraries
  • Wordの「参照」が含まれているバンドル(ない場合もあります)

プロジェクトで多くの「エラー」が発生する可能性があるため、Eclipseを再起動してクリーンにします。一度クリーンアップすると、エラーは発生しません。プロジェクトとビオラを実行します。

この答えをくれたDLewに感謝します。

10
Jacksonkr

プロジェクトフォルダにフォルダlibsを作成し、その中にgcm.jarを配置します。次に、ビルドパスの構成オプションで外部jarを追加を使用してクラスパスに追加します。

6
Shamitha

Gcm.jarファイルをlibs内に配置してから、プロジェクトプロパティ> Javaビルドパス>ライブラリに移動して、に追加する必要があります。 外部JARの追加...を使用したパス注文とエクスポートの後にgcm.jarを確認し、[〜#〜] ok [〜#〜]。それはうまくいくはずです

3
Carlos ALVAREZ

Gcm jarファイルが正しいlibsフォルダーにあり、プロジェクトプロパティのJavaビルドパスに追加されていることを確認してください。

1
Klaasvaak

プロジェクトでSDKを更新した後、同じ問題が発生しました。それは私にとって助けになりました:私は「Androidツール」に「サポートライブラリを追加する」だけです。これが他の誰かに役立つことを願っています。

1
busylee

Android-support-v4.jargcm.jarをlibsフォルダーに追加した後も、同じ問題が発生しました。問題はありません。

ありがとう

1
Madhu

SENDER_IDフィールドは、GoogleAPIプロジェクトを作成したときのプロジェクトIDである必要があります。これの冒頭を読んでください: http://developer.Android.com/guide/google/gcm/gs.html#libs

TAGも文字列である必要があります-> ""タグ名 "

0
matt.hallman

こんにちはあなたは古いGCM実装を使用しています https://developers.google.com/cloud-messaging/Android/start で利用可能な新しい実装を使用します

0
Jotiram Chavan