今天我将googleplay服务库添加到我的项目中。我已按照http://developer.android.com/google/play-services/setup.html#ensure
我的设置屏幕截图:https://drive.google.com/file/d/0Bwe9sI6XZ6rcZGZzdmlaQjVheDA/edit?usp=sharing
问题是,当我尝试执行以下代码时,会引发noclassdeffounderror异常。
public class MainActivity extends Activity {
private GoogleApiClient mGoogleClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
mGoogleClient = new GoogleApiClient.Builder(this)
.addApi(Games.API)
.addScope(Games.SCOPE_GAMES)
.setGravityForPopups(Gravity.TOP | Gravity.CENTER_HORIZONTAL)
.build();
在logcat中,异常看起来像
threadid=1: thread exiting with uncaught exception (group=0x40d02930)
FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.google.android.gms.common.api.GoogleApiClient$Builder
at com.gmail.mhofer4991.at.taptorotate.MainActivity.onCreate(MainActivity.java:104)
at android.app.Activity.performCreate(Activity.java:5104)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2147)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
at android.app.ActivityThread.access$600(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5074)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Force finishing activity com.example.taptorotate/com.gmail.mhofer4991.at.taptorotate.MainActivity
我还清理并重建了这个项目。
我解决不了这个问题,真让我发疯。我知道已经有其他线程有相同的主题,我也尝试了一些建议的解决方案,但都不适用于我。请帮帮我!
我也遇到了同样的问题,
java.lang.NoClassDefFoundError:
com.google.android.gms.common.api.GoogleApiClient$Builder
我使用了以下对应用程序build.gradle文件的依赖项。
compile 'com.google.android.gms:play-services:7.8.0'
我把它改成
compile 'com.google.android.gms:play-services-plus:7.8.0'
我更新了Google Play Services(第26版)和Google Repository(第20版)。
之后,异常就不会发生。
尝试使用单独的API和相应的build.gradle描述,如下页所示,https://developers.google.com/android/guides/setup#ensure
如果您将minifyEnabled或ProGuard设置为true,请尝试添加Google API的模糊规则:ProGuard配置
尝试在Android中使用Google Drive的实现时,我发现了以下错误消息,指向一些类,如:
java.lang.ClassNotFoundException: com.google.android.gms.common.api.Scope
Caused by: java.lang.ClassNotFoundException: Didn't find class
我发现,当我们添加与GoogleApiClient相关的依赖项时,真正的问题是64K引用的限制,所以添加多点支持解决了我的问题:
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
...
...
multiDexEnabled true
}
...
...