今天我将谷歌播放服务库添加到我的项目中。我已按照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
我也清理并重建了这个项目。
让我疯狂,我无法解决问题。我知道已经有其他线程有相同的主题,我也尝试了一些建议的解决方案,但没有一个适合我。请帮帮我!
答案 0 :(得分:0)
我也有同样的问题,
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服务(第26版)和Google信息库(第20版)。
之后不会发生异常。
尝试使用单个API和相应的build.gradle描述,如下页所示: https://developers.google.com/android/guides/setup#ensure
答案 1 :(得分:0)
如果您将minifyEnabled或ProGuard设置为true,请尝试为Google API添加模糊规则: ProGuard Configuration
答案 2 :(得分:0)
尝试在Android中使用Google云端硬盘的实现我发现此错误消息指向了一些类:
java.lang.ClassNotFoundException: com.google.android.gms.common.api.Scope
Caused by: java.lang.ClassNotFoundException: Didn't find class
我发现当我们添加与GoogleApiClient相关的依赖项时,真正的问题是limit of 64K references,因此添加multidex支持解决了我的问题:
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
...
...
multiDexEnabled true
}
...
...