GCM:java.lang.noclassdeffounderror:com.google.andr

2019-06-25 22:28发布

我尝试使用下面的代码在设备注册到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");
    } 

我已经导入进口com.google.android.gcm.GCMRegistrar;
并且还增加了GCM.jar我在Eclipse构建路径,我拿到直通SDK下载

请帮忙 !

Answer 1:

在更新的ADT(ADT以上17)你必须把jar文件里面libs文件夹,而不是lib 。 因此,请确保你把gcm.jar内部文件libs ,而不是lib文件夹。



Answer 2:

只要到项目属性 - > Java构建路径 - >“命令和出口”现在连锁行业在您添加的jar文件“GCM.jar”打勾



Answer 3:

gcm.jar已经在库,所以它不是一个文件夹命名为问题我..

我不得不去Right Click > Build Path > Configure Build path...有问题的项目,我删除了以下内容:

  • 文件夹/包之外的任何挥之不去的文件
  • Android Private Libraries
  • 用他们的话“参考”的任何束(您可能没有一个)

你可以在你的项目,所以重新启动Eclipse,让它干净得到了很多的“错误”的。 一旦它清除你不会有任何错误。 运行项目和中提琴。

由于DLew这个答案。



Answer 4:

使文件夹项目中的文件夹,并把gcm.jar它。 然后将其添加到使用添加配置构建路径选项外罐类路径。



Answer 5:

你必须把里面的库文件gcm.jar,然后去项目属性> Java构建路径>库 ,并将其添加到使用添加外部JAR ...,之后才能和导出您检查gcm.jar,然后按确定您的路径。 这应该工作



Answer 6:

确保GCM jar文件是在正确的libs文件夹,并在你的项目属性加入到Java构建路径。



Answer 7:

我有同样的问题,在我的项目更新SDK之后。 它帮助我:我刚刚在“Android的工具”→“添加支持库”。 希望这可以帮助别人。



Answer 8:

我也得到了同样的问题,之后加入android-support-v4.jargcm.jar到我的libs文件夹中发现任何问题就像一个魅力的工作

谢谢



Answer 9:

该SENDER_ID场应该是从当你创建了谷歌的API项目的项目ID。 阅读这个开头: http://developer.android.com/guide/google/gcm/gs.html#libs

标签也应该是一个字符串 - >“”标签名称”



Answer 10:

你好,你正在使用旧GCM实现使用上提供新的实现https://developers.google.com/cloud-messaging/android/start



文章来源: GCM : java.lang.noclassdeffounderror: com.google.android.gcm.GCMRegistrar