google-play-services_lib eclipse kepler noclassdeffounderror

时间:2014-07-16 17:12:15

标签: android eclipse google-play-services google-cloud-messaging

我已阅读有关此论点的所有帖子,我尝试了所有但我无法找到解决方案 我尝试添加到我的应用程序Google Cloud Messaging开始关注http://developer.android.com/google/gcm/client.html上的官方google指南 和 http://developer.android.com/google/play-services/setup.html#Setup 我通过Android SDK Manager安装Playservices,现在我无法在android-sdk \ extras \ google \ google_play_services中查看该文件夹

在Eclipse Kepler中: 档案 - >导入 - >现有的Android代码进入工作区

Root Directory: 
....android-sdk\extras\google\google_play_services\libproject\google-play-services_lib
Copy project into workspace is selected.

现在我在我的工作区中有play服务库项目,并在Package explorer中列出,我可以添加对项目的引用

我的项目 - >属性 - > Android - >图书馆 - >添加... - >选择google-play-services_lib - >好的 - >应用

在Java构建路径中 - >订单和出口我发现:

.../gen                      ->selected
.../src                      ->selected
Android Private Libraries    ->selected
Android 4.2.2                ->not selected
Android Dependencies         ->selected

我继续谷歌指南“实施GCM客户端” 添加行到我的清单文件并修改我的onCreate和onresume,如“检查Google Play服务APK”中所述

一切正常,eclipse中没有编译错误。

当我尝试在模拟器或物理设备上运行时(Galaxy S3 - Android 4.3)我在logcat中遇到运行时错误:

java.lang.NoClassDefFoundError: com.google.android.gms.common.GooglePlayServicesUtil

这是产生错误的代码:

int resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);

似乎需要库不在apk中导出....

我不想做什么?

1 个答案:

答案 0 :(得分:0)

我有同样的问题,对我有用的是改变google-play-services_lib项目的目标。为此,请右键单击google-play-services_lib并选择" Properties"。接下来,在" Android"的顶部菜单,在"项目构建目标"下,选择与主项目目标相同的目标。

我希望这会有所帮助。