【发布时间】:2014-10-06 23:41:24
【问题描述】:
找到解决方案---检查底部
我知道有很多与我类似的问题,但我已经为此工作了好几天,但不知道如何让它发挥作用。
我正在尝试将 Google Play 服务整合到我的应用程序中以使用推送通知。
这是我到目前为止所做的:
- 创建了一个全新的项目
- 导入“google-play-services_lib”并选择“将项目复制到工作区”
- 进入项目 -> 属性并在“库”部分下添加 Google-play-services_lib
-
将以下代码添加到我的 project.properties
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
项目目标。
目标=android-20 android.library.reference.1=..\appcompat_v7 android.library=true android.library.reference.2=..\google-play-services_lib
-
在 MainActivity.java 的 onCreate 函数中添加如下代码:
int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getBaseContext()); 如果(状态 == ConnectionResult.SUCCESS){ Log.v("播放","可用!!!!"); } 别的{ ((Dialog)GooglePlayServicesUtil.getErrorDialog(status, this,10)).show(); }
当我运行我的程序时,我得到了
10-06 19:23:40.733: I/dalvikvm(16563): Could not find method com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable, referenced from method com.example.gcm_test.MainActivity.onCreate
10-06 19:23:40.733: W/dalvikvm(16563): VFY: unable to resolve static method 9321: Lcom/google/android/gms/common/GooglePlayServicesUtil;.isGooglePlayServicesAvailable (Landroid/content/Context;)I
10-06 19:23:40.733: D/dalvikvm(16563): VFY: replacing opcode 0x71 at 0x0014
10-06 19:23:40.823: V/Play(16563): LOG
10-06 19:23:40.823: D/AndroidRuntime(16563): Shutting down VM
10-06 19:23:40.823: W/dalvikvm(16563): threadid=1: thread exiting with uncaught exception (group=0x41786898)
10-06 19:23:40.823: E/AndroidRuntime(16563): FATAL EXCEPTION: main
10-06 19:23:40.823: E/AndroidRuntime(16563): java.lang.NoClassDefFoundError: com.google.android.gms.common.GooglePlayServicesUtil
10-06 19:23:40.823: E/AndroidRuntime(16563): at com.example.gcm_test.MainActivity.onCreate(MainActivity.java:21)
10-06 19:23:40.823: E/AndroidRuntime(16563): at android.app.Activity.performCreate(Activity.java:5372)
10-06 19:23:40.823: E/AndroidRuntime(16563): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
10-06 19:23:40.823: E/AndroidRuntime(16563): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2267)
10-06 19:23:40.823: E/AndroidRuntime(16563): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2359)
10-06 19:23:40.823: E/AndroidRuntime(16563): at android.app.ActivityThread.access$700(ActivityThread.java:165)
10-06 19:23:40.823: E/AndroidRuntime(16563): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1326)
10-06 19:23:40.823: E/AndroidRuntime(16563): at android.os.Handler.dispatchMessage(Handler.java:99)
10-06 19:23:40.823: E/AndroidRuntime(16563): at android.os.Looper.loop(Looper.java:137)
10-06 19:23:40.823: E/AndroidRuntime(16563): at android.app.ActivityThread.main(ActivityThread.java:5455)
10-06 19:23:40.823: E/AndroidRuntime(16563): at java.lang.reflect.Method.invokeNative(Native Method)
10-06 19:23:40.823: E/AndroidRuntime(16563): at java.lang.reflect.Method.invoke(Method.java:525)
10-06 19:23:40.823: E/AndroidRuntime(16563): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
10-06 19:23:40.823: E/AndroidRuntime(16563): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
10-06 19:23:40.823: E/AndroidRuntime(16563): at dalvik.system.NativeStart.main(Native Method)
10-06 19:28:41.224: I/Process(16563): Sending signal. PID: 16563 SIG: 9
任何帮助将不胜感激!
更新:
我进入 appcompat_v7 libs 文件夹并右键单击每个 .jar 文件并单击“添加到构建”我还进入了该项目的“订购和导出”并选择了两个 jar 文件并取消选择“Android 依赖项”。
我为 google-play-services_lib 项目做了同样的事情。
我收到以下错误消息:
10-06 22:13:08.303: I/dalvikvm(24857): Could not find method com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable, referenced from method com.example.gcm_tester2.MainActivity.onCreate
10-06 22:13:08.303: W/dalvikvm(24857): VFY: unable to resolve static method 9321: Lcom/google/android/gms/common/GooglePlayServicesUtil;.isGooglePlayServicesAvailable (Landroid/content/Context;)I
10-06 22:13:08.303: D/dalvikvm(24857): VFY: replacing opcode 0x71 at 0x000d
10-06 22:13:08.434: D/AndroidRuntime(24857): Shutting down VM
10-06 22:13:08.434: W/dalvikvm(24857): threadid=1: thread exiting with uncaught exception (group=0x41786898)
10-06 22:13:08.434: E/AndroidRuntime(24857): FATAL EXCEPTION: main
10-06 22:13:08.434: E/AndroidRuntime(24857): java.lang.NoClassDefFoundError: com.google.android.gms.common.GooglePlayServicesUtil
10-06 22:13:08.434: E/AndroidRuntime(24857): at com.example.gcm_tester2.MainActivity.onCreate(MainActivity.java:21)
10-06 22:13:08.434: E/AndroidRuntime(24857): at android.app.Activity.performCreate(Activity.java:5372)
10-06 22:13:08.434: E/AndroidRuntime(24857): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
10-06 22:13:08.434: E/AndroidRuntime(24857): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2267)
10-06 22:13:08.434: E/AndroidRuntime(24857): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2359)
10-06 22:13:08.434: E/AndroidRuntime(24857): at android.app.ActivityThread.access$700(ActivityThread.java:165)
10-06 22:13:08.434: E/AndroidRuntime(24857): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1326)
10-06 22:13:08.434: E/AndroidRuntime(24857): at android.os.Handler.dispatchMessage(Handler.java:99)
10-06 22:13:08.434: E/AndroidRuntime(24857): at android.os.Looper.loop(Looper.java:137)
10-06 22:13:08.434: E/AndroidRuntime(24857): at android.app.ActivityThread.main(ActivityThread.java:5455)
10-06 22:13:08.434: E/AndroidRuntime(24857): at java.lang.reflect.Method.invokeNative(Native Method)
10-06 22:13:08.434: E/AndroidRuntime(24857): at java.lang.reflect.Method.invoke(Method.java:525)
10-06 22:13:08.434: E/AndroidRuntime(24857): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
10-06 22:13:08.434: E/AndroidRuntime(24857): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
10-06 22:13:08.434: E/AndroidRuntime(24857): at dalvik.system.NativeStart.main(Native Method)
更新 2:
谁能为我提供一个打印屏幕,显示你的 pacakge 浏览器在你正确操作时的样子就像引用的库、android 依赖项等下应该包含的内容。此时我感到非常沮丧
更新 3:
因此,经过几天的研究,我意识到问题在于我需要更新我的“Android SDK 构建工具”。天哪,我成功了。
【问题讨论】:
-
尝试在“Order and Export”中选择您将其添加到构建路径的库。
-
@svenoaks 对不起,我不明白你的意思?我对 Android 开发很陌生..