-6ren">
gpt4 book ai didi

java - GooglePlayServices.isGOoglePlayServicesAvailable NoClassDefFoundError

转载 作者:行者123 更新时间:2023-12-01 12:45:01 29 4
gpt4 key购买 nike

我在这里四处寻找解决尝试使用 GCM 时的“NoClassDefFoundError”异常的方法,结果通常告诉我我错误地添加了 google-play-services_lib。

我从"file"->“导入...”->“Android”->“将现有 Android 代码导入工作区”导入了 Google Play 服务库,并选择了/extras/google/google_play_services/libproject/google-play-services_lib

Import Google Play Services Library

我在“引用”下的“项目”->“属性”中添加了该项目,我添加了 google-play-services_lib。

Android Properties

该项目过去已成功构建,我更新了 Eclipse 和所有 SDK 组件,此时它停止工作。我不记得 GCM 原始设置中的这两个步骤,但我还是从

添加到AndroidManifest

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

添加到 proguard-project.txt

-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}

-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}

-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}

我完全不明白为什么这不起作用。我验证 Eclipse 正在复制 Libraries 和 Order and Export 中的 google-play-services_lib.jar 和 google-play-services.jar 文件

我已经删除了两个项目 google-play-services_lib 和我的项目,删除了所有 eclipse 构建文件 Lint 文件 .classpath .project project.properties .settings 等,清理重建,从 SDK 管理器中删除 google play 服务,重新下载,检查将项目复制到 Google Play 服务库的工作区,我真的不知道为什么这不起作用。我在几个不同的设备和几个不同的模拟器实例上进行了尝试,结果都相同。

编辑跟踪作为导致错误的代码包含在内

 Thread [<1> main] (Suspended (exception NoClassDefFoundError)) 
<VM does not provide monitor information>
MainActivity.checkPlayServices() line: 173
MainActivity.onCreate(Bundle) line: 47
MainActivity(Activity).performCreate(Bundle) line: 5248
Instrumentation.callActivityOnCreate(Activity, Bundle) line: 1110
ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 2173
ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 2269
ActivityThread.access$800(ActivityThread, ActivityThread$ActivityClientRecord, Intent) line: 139
ActivityThread$H.handleMessage(Message) line: 1210
ActivityThread$H(Handler).dispatchMessage(Message) line: 102
Looper.loop() line: 136
ActivityThread.main(String[]) line: 5102
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 515
ZygoteInit$MethodAndArgsCaller.run() line: 785
ZygoteInit.main(String[]) line: 601
NativeStart.main(String[]) line: not available [native method]

代码

private void checkPlayServices(){
int resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
if(resultCode!=ConnectionResult.SUCCESS){
Intent intent = new Intent(this,ErrorActivity.class);
startActivity(intent);
}
}

最佳答案

好吧,我完全删除了 Eclipse 和 Android SDK。我重新下载了,现在一切正常。一定是更新失败了。

关于java - GooglePlayServices.isGOoglePlayServicesAvailable NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24789860/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com