java.lang.NoClassDefFoundError:解析失败:Lcom/google/android/gms/auth/api/signin/internal/zzz;

And*_*Kor 5 android android-gradle-plugin

在我的onResume()MainActivity 方法中,我有这个,它应该让玩家登录 Google Play 游戏:

\n\n
protected void onResume(){\n    super.onResume();\n    getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);\n    sign_in_player();\n    Log.d("MainActivity", "State: Resumed");\n\n\n}\nprivate static void sign_in_player(){\n\n    if(!is_signed_into_play_games()){\n        GoogleSignInClient google_sign_in_client = GoogleSignIn.getClient(current_context,GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN);\n        google_sign_in_client.silentSignIn();\n    }\n}\npublic static boolean is_signed_into_play_games(){\n    return GoogleSignIn.getLastSignedInAccount(current_context)!= null;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

build.gradle 依赖项:

\n\n
dependencies {\n    implementation fileTree(include: [\'*.jar\'], dir: \'libs\')\n    androidTestImplementation(\'com.android.support.test.espresso:espresso-core:2.2.2\', {\n    exclude group: \'com.android.support\', module: \'support-annotations\'\n})\n    implementation \'com.google.android.gms:play-services-identity:15.0.1\'\n    implementation \'com.google.android.gms:play-services-games:15.0.1\'\n    implementation \'com.google.android.gms:play-services-ads:15.0.0\'\n    implementation \'com.google.android.gms:play-services-auth:11.6.0\'\n    implementation "com.android.support:appcompat-v7:27.1.1"\n    implementation \'com.android.support.constraint:constraint-layout:1.1.2\'\n    testImplementation \'junit:junit:4.12\'\n    implementation \'com.google.android.gms:play-services-games:15.0.1\'\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

在我的 AndroidManifest 中,我确保该应用程序使用互联网:

\n\n

<uses-permission android:name="android.permission.INTERNET" />

\n\n

我正在我的 S8 上测试这个应用程序(应用程序未发布或任何其他内容)。我最终得到这个运行时错误:

\n\n
E/AndroidRuntime: FATAL EXCEPTION: main\n              Process: com.example.koran.myapplication, PID: 3289\n              java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/auth/api/signin/internal/zzz;\n                  at com.google.android.gms.auth.api.signin.internal.zzo.<init>(Unknown Source:3)\n                  at com.google.android.gms.auth.api.signin.internal.zzo.zzbq(Unknown Source:9)\n                  at com.google.android.gms.auth.api.signin.internal.zzo.zzbp(Unknown Source:7)\n                  at com.google.android.gms.auth.api.signin.GoogleSignIn.getLastSignedInAccount(Unknown Source:0)\n                  at com.example.koran.myapplication.MainActivity.is_signed_into_play_games(MainActivity.java:139)\n                  at com.example.koran.myapplication.MainActivity.sign_in_player(MainActivity.java:255)\n                  at com.example.koran.myapplication.MainActivity.onResume(MainActivity.java:248)\n                  at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1361)\n                  at android.app.Activity.performResume(Activity.java:7344)\n                  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3763)\n                  at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3828)\n                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3036)\n                  at android.app.ActivityThread.-wrap11(Unknown Source:0)\n                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)\n                  at android.os.Handler.dispatchMessage(Handler.java:105)\n                  at android.os.Looper.loop(Looper.java:164)\n                  at android.app.ActivityThread.main(ActivityThread.java:6938)\n                  at java.lang.reflect.Method.invoke(Native Method)\n                  at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)\n                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)\n               Caused by: java.lang.ClassNotFoundException: Didn\'t find class "com.google.android.gms.auth.api.signin.internal.zzz" on path: DexPathList[[zip file "/data/app/com.example.koran.myapplication-UD0LYeGFGYJW8kKIpwYshw==/base.apk", zip file "/data/app/com.example.koran.myapplication-UD0LYeGFGYJW8kKIpwYshw==/split_lib_dependencies_apk.apk", zip file "/data/app/com.example.koran.myapplication-UD0LYeGFGYJW8kKIpwYshw==/split_lib_resources_apk.apk", zip file "/data/app/com.example.koran.myapplication-UD0LYeGFGYJW8kKIpwYshw==/split_lib_slice_0_apk.apk", zip file "/data/app/com.example.koran.myapplication-UD0LYeGFGYJW8kKIpwYshw==/split_lib_slice_1_apk.apk", zip file "/data/app/com.example.koran.myapplication-UD0LYeGFGYJW8kKIpwYshw==/split_lib_slice_2_apk.apk", zip file "/data/app/com.example.koran.myapplication-UD0LYeGFGYJW8kKIpwYshw==/split_lib_slice_3_apk.apk", zip file "/data/app/com.example.koran.myapplication-UD0LYeGFGYJW8kKIpwYshw==/split_lib_slice_4_apk.apk", zip file "/data/app/com.example.koran.myapplication-UD0LYeGFGYJW8kKIpwYshw==/split_lib_slice_5_apk.apk", zip file "/data/app/com.example.koran.myapplication-UD0LYeGFGYJW8kKIpwYshw==/split_lib_slice_6_apk.apk", zip file "/data/app/com.example.koran.myapplication-UD0LYeGFGYJW8kKIpwYshw==/split_lib_slice_7_apk.apk", zip file "/data/app/com.example.koran.myapplication-UD0LYeGFGYJW8kKIpwYshw==/split_lib_slice_8_apk.apk", zip file "/data/app/com.example.koran.myapplication-UD0LYeGFGYJW8kKIpwYshw==/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.example.koran.myapplication-UD0LYeGFGYJW8kKIpwYshw==/lib/arm64, /system/lib64, /system/vendor/lib64]]\n                  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)\n                  at java.lang.ClassLoader.loadClass(ClassLoader.java:379)\n                  at java.lang.ClassLoader.loadClass(ClassLoader.java:312)\n                  at com.google.android.gms.auth.api.signin.internal.zzo.<init>(Unknown Source:3)\xc2\xa0\n                  at com.google.android.gms.auth.api.signin.internal.zzo.zzbq(Unknown Source:9)\xc2\xa0\n                  at com.google.android.gms.auth.api.signin.internal.zzo.zzbp(Unknown Source:7)\xc2\xa0\n                  at com.google.android.gms.auth.api.signin.GoogleSignIn.getLastSignedInAccount(Unknown Source:0)\xc2\xa0\n                  at com.example.koran.myapplication.MainActivity.is_signed_into_play_games(MainActivity.java:139)\xc2\xa0\n                  at com.example.koran.myapplication.MainActivity.sign_in_player(MainActivity.java:255)\xc2\xa0\n                  at com.example.koran.myapplication.MainActivity.onResume(MainActivity.java:248)\xc2\xa0\n                  at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1361)\xc2\xa0\n                  at android.app.Activity.performResume(Activity.java:7344)\xc2\xa0\n                  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3763)\xc2\xa0\n                  at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3828)\xc2\xa0\n                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3036)\xc2\xa0\n                  at android.app.ActivityThread.-wrap11(Unknown Source:0)\xc2\xa0\n                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)\xc2\xa0\n                  at android.os.Handler.dispatchMessage(Handler.java:105)\xc2\xa0\n                  at android.os.Looper.loop(Looper.java:164)\xc2\xa0\n                  at android.app.ActivityThread.main(ActivityThread.java:6938)\xc2\xa0\n                  at java.lang.reflect.Method.invoke(Native Method)\xc2\xa0\n                  at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)\xc2\xa0\n                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)\xc2\xa0\n                Suppressed: java.io.IOException: No original dex files found for dex location (arm64) /data/app/com.example.koran.myapplication-UD0LYeGFGYJW8kKIpwYshw==/split_lib_resources_apk.apk\n                  at dalvik.system.DexFile.openDexFileNative(Native Method)\n                  at dalvik.system.DexFile.openDexFile(DexFile.java:353)\n                  at dalvik.system.DexFile.<init>(DexFile.java:100)\n                  at dalvik.system.DexFile.<init>(DexFile.java:74)\n                  at dalvik.system.DexPathList.loadDexFile(DexPathList.java:374)\n                  at dalvik.system.DexPathList.makeDexElements(DexPathList.java:337)\n                  at dalvik.system.DexPathList.<init>(DexPathList.java:157)\n                  at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:65)\n                  at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:64)\n                  at com.android.internal.os.PathClassLoaderFactory.createClassLoader(PathClassLoaderFactory.java:43)\n                  at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:69)\n                  at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:36)\n                  at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:678)\n                  at android.app.LoadedApk.getClassLoader(LoadedApk.java:711)\n                  at android.app.LoadedApk.getResources(LoadedApk.java:944)\n                  at android.app.ContextImpl.createAppContext(ContextImpl.java:2303)\n                  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5937)\n                  at android.app.ActivityThread.-wrap1(Unknown Source:0)\n                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1764)\n                        ... 6 more\n
Run Code Online (Sandbox Code Playgroud)\n\n

这里发生了什么?

\n

Pav*_*ngh 3

您正在使用旧版本,auth该版本与播放服务的其他更新版本不兼容,因此请使用此版本

implementation 'com.google.android.gms:play-services-auth:15.0.1'
Run Code Online (Sandbox Code Playgroud)

而不是这个

implementation 'com.google.android.gms:play-services-auth:11.6.0' 
Run Code Online (Sandbox Code Playgroud)

因此,根据更新的依赖项文档,您还可以更新广告

implementation 'com.google.android.gms:play-services-ads:15.0.1'
implementation 'com.google.android.gms:play-services-auth:15.0.1'
Run Code Online (Sandbox Code Playgroud)