任何 google-play-services 功能的 java.lang.NoClassDefFoundError

标签 java android eclipse google-play-services

我使用的是最新版本的 Eclipse、ADT 和最新的 Android SDK。 例如,如果我尝试在一个简单的 HelloWorld Android 项目中使用 Google Play 功能,

int res = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);

应用程序崩溃

04-27 21:52:23.905: D/ActivityThread(4379): handleBindApplication:my.app.test
04-27 21:52:23.905: D/ActivityThread(4379): setTargetHeapUtilization:0.75
04-27 21:52:23.905: D/ActivityThread(4379): setTargetHeapMinFree:2097152
04-27 21:52:23.945: I/dalvikvm(4379): Could not find method com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable, referenced from method my.app.test.MainActivity.onCreate
04-27 21:52:23.945: W/dalvikvm(4379): VFY: unable to resolve static method 29: Lcom/google/android/gms/common/GooglePlayServicesUtil;.isGooglePlayServicesAvailable (Landroid/content/Context;)I
04-27 21:52:23.945: D/dalvikvm(4379): VFY: replacing opcode 0x71 at 0x0009
04-27 21:52:23.975: D/AndroidRuntime(4379): Shutting down VM
04-27 21:52:23.975: W/dalvikvm(4379): threadid=1: thread exiting with uncaught exception (group=0x4162cd58)
04-27 21:52:23.975: E/AndroidRuntime(4379): FATAL EXCEPTION: main
04-27 21:52:23.975: E/AndroidRuntime(4379): Process: my.app.test, PID: 4379
04-27 21:52:23.975: E/AndroidRuntime(4379): java.lang.NoClassDefFoundError: com.google.android.gms.common.GooglePlayServicesUtil
04-27 21:52:23.975: E/AndroidRuntime(4379):     at my.app.test.MainActivity.onCreate(MainActivity.java:17)
04-27 21:52:23.975: E/AndroidRuntime(4379):     at android.app.Activity.performCreate(Activity.java:5231)
04-27 21:52:23.975: E/AndroidRuntime(4379):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
04-27 21:52:23.975: E/AndroidRuntime(4379):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2151)
04-27 21:52:23.975: E/AndroidRuntime(4379):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2236)
04-27 21:52:23.975: E/AndroidRuntime(4379):     at android.app.ActivityThread.access$800(ActivityThread.java:138)
04-27 21:52:23.975: E/AndroidRuntime(4379):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1199)
04-27 21:52:23.975: E/AndroidRuntime(4379):     at android.os.Handler.dispatchMessage(Handler.java:102)
04-27 21:52:23.975: E/AndroidRuntime(4379):     at android.os.Looper.loop(Looper.java:136)
04-27 21:52:23.975: E/AndroidRuntime(4379):     at android.app.ActivityThread.main(ActivityThread.java:5095)
04-27 21:52:23.975: E/AndroidRuntime(4379):     at java.lang.reflect.Method.invokeNative(Native Method)
04-27 21:52:23.975: E/AndroidRuntime(4379):     at java.lang.reflect.Method.invoke(Method.java:515)
04-27 21:52:23.975: E/AndroidRuntime(4379):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
04-27 21:52:23.975: E/AndroidRuntime(4379):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
04-27 21:52:23.975: E/AndroidRuntime(4379):     at dalvik.system.NativeStart.main(Native Method)
04-27 21:52:23.985: I/Process(4379): Sending signal. PID: 4379 SIG: 9

我真的不明白为什么它不起作用。 我已经通过 File>Import> [Copy from lib source] 添加了。 我尝试同时使用 Android 5.1.1 和 GoogleAPIs。 我将 google-play-service_lib 作为 lib 项目链接到我的 helloworld 项目。之后,我在 Properties> Java Build Path > Libraries >add jars(lib 文件)中添加。订单和导出复选框也被选中。 在我添加的 Android Manifest 中

 <meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

简而言之,我直接做了official manual and more中写的

我清除,重新启动等...... 但它不起作用。天哪,为什么?是什么原因?我在不同的设备和不同的机器上进行了测试。 同样愚蠢的错误!!

最佳答案

您可能需要在项目设置->Android->库中添加对项目的引用。

查看“引用库部分”here .也在那里添加您的项目引用,您应该没问题。

关于任何 google-play-services 功能的 java.lang.NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29903978/

相关文章:

java - 如何在java中使用线程池执行器同时运行单个java应用程序两次

java - 访问另一个类 Eclipse 中使用的变量?

android - 无法将 Android SDK 工具从 20 更新到 21

java - 无法序列化 MongoDB 中的类 Java 和字符串被编码

java - 突然错误: No static method setWebDialogTheme(I)V

java - hibernate 当前日期不工作

android - 如何在应用程序卸载时从服务器中删除数据库记录

Android请求响应太长

android - android设计的屏幕尺寸(以像素为单位)?

java - ClassNotFoundException : org. Glassfish . Jersey .servlet.ServletContainer