【发布时间】:2014-07-16 17:12:14
【问题描述】:
我已阅读有关此论点的所有帖子并尝试了所有方法,但找不到解决方案 我尝试将 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 开普勒中: 文件 -> 导入 -> 现有 Android 代码到工作区
Root Directory:
....android-sdk\extras\google\google_play_services\libproject\google-play-services_lib
Copy project into workspace is selected.
现在我的工作区中有播放服务库项目并在包资源管理器中列出,我可以添加对我的项目的引用
我的项目 -> 属性 -> Android -> 库 -> 添加... --> 选择 google-play-services_lib -> 确定 -> 应用
在 Java Build Path -> Order and Export 我发现:
.../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中导出的......
我想做什么?
【问题讨论】:
-
从您链接的 Play 服务页面 - 您是否创建了 Proguard 异常以便它不会删除类?
-
是的,我尝试创建 Proguard 异常但没有结果。如果我查看 project.properties 文件,我发现 Proguard 未启用,唯一未注释的两行是:target=android-17 android.library.reference.1=../google-play-service_lib
-
我认为您需要文件顶部的导入声明:
import com.google.android.gms.common.GooglePlayServicesUtil;。 -
我只有
import com.google.android.gms.common.ConnectionResult;import com.google.android.gms.common.GooglePlayServicesUtil;eclipse 没有通知我任何编译错误......可能是一个错误?
标签: android eclipse google-play-services google-cloud-messaging