繁体   English   中英

解析失败:Lcom/google/android/gms/common/api/Api$zzf;

[英]Failed resolution of: Lcom/google/android/gms/common/api/Api$zzf;

当我们运行应用程序的 apk 文件时出现此错误。 build.gradle我们设置了 multidex 并且编译 multidex 存在于 Gradle 文件中。 我们将 Firebase 版本的版本更改为上和下,但这对我们不起作用。 这是我们在运行控制台中的完整日志:

 D/AndroidRuntime: Shutting down VM E/AndroidRuntime: FATAL EXCEPTION: main Process: ir.parsinteam.ojoobe, PID: 5141 java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/api/Api$zzf; at com.google.android.gms.location.LocationServices.<clinit>(Unknown Source) at ir.adad.client.LocationMethods.callAndroidLocationService(LocationMethods.java:101) at ir.adad.client.LocationMethods.<init>(LocationMethods.java:40) at ir.adad.client.LocationMethods.getInstance(LocationMethods.java:45) at ir.adad.client.AdadScript.urlParameters(AdadScript.java:390) at ir.adad.client.AdadScript.downloadClient(AdadScript.java:148) at ir.adad.client.AdadScript.initializeInternal(AdadScript.java:134) at ir.adad.client.AdadScript.initializeClient(AdadScript.java:110) at ir.adad.client.Adad.initialize(Adad.java:22) at ir.parsinteam.ojoobe.activities.MainActivity.onCreate(MainActivity.java:62) at android.app.Activity.performCreate(Activity.java:6662) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.api.Api$zzf" on path: DexPathList[[zip file "/data/app/ir.parsinteam.ojoobe-2/base.apk", zip file "/data/app/ir.parsinteam.ojoobe-2/split_lib_dependencies_apk.apk", zip file "/data/app/ir.parsinteam.ojoobe-2/split_lib_slice_0_apk.apk", zip file "/data/app/ir.parsinteam.ojoobe-2/split_lib_slice_1_apk.apk", zip file "/data/app/ir.parsinteam.ojoobe-2/split_lib_slice_2_apk.apk", zip file "/data/app/ir.parsinteam.ojoobe-2/split_lib_slice_3_apk.apk", zip file "/data/app/ir.parsinteam.ojoobe-2/split_lib_slice_4_apk.apk", zip file "/data/app/ir.parsinteam.ojoobe-2/split_lib_slice_5_apk.apk", zip file "/data/app/ir.parsinteam.ojoobe-2/split_lib_slice_6_apk.apk", zip file "/data/app/ir.parsinteam.ojoobe-2/split_lib_slice_7_apk.apk", zip file "/data/app/ir.parsinteam.ojoobe-2/split_lib_slice_8_apk.apk", zip file "/data/app/ir.parsinteam.ojoobe-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/ir.parsinteam.ojoobe-2/lib/x86, /data/app/ir.parsinteam.ojoobe-2/base.apk!/lib/x86, /data/app/ir.parsinteam.ojoobe-2/split_lib_dependencies_apk.apk!/lib/x86, /data/app/ir.parsinteam.ojoobe-2/split_lib_slice_0_apk.apk!/lib/x86, /data/app/ir.parsinteam.ojoobe-2/split_lib_slice_1_apk.apk!/lib/x86, /data/app/ir.parsinteam.ojoobe-2/split_lib_slice_2_apk.apk!/lib/x86, /data/app/ir.parsinteam.ojoobe-2/split_lib_slice_3_apk.apk!/lib/x86, /data/app/ir.parsinteam.ojoobe-2/split_lib_slice_4_apk.apk!/lib/x86, /data/app/ir.parsinteam.ojoobe-2/split_lib_slice_5_apk.apk!/lib/x86, /data/app/ir.parsinteam.ojoobe-2/split_lib_slice_6_apk.apk!/lib/x86, /data/app/ir.parsinteam.ojoobe-2/split_lib_slice_7_apk.apk!/lib/x86, /data/app/ir.parsinteam.ojoobe-2/split_lib_slice_8_apk.apk!/lib/x86, /data/app/ir.parsinteam.ojoobe-2/split_lib_slice_9_apk.apk!/lib/x86, /system/lib, /vendor/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:380) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at com.google.android.gms.location.LocationServices.<clinit>(Unknown Source) at ir.adad.client.LocationMethods.callAndroidLocationService(LocationMethods.java:101) at ir.adad.client.LocationMethods.<init>(LocationMethods.java:40) at ir.adad.client.LocationMethods.getInstance(LocationMethods.java:45) at ir.adad.client.AdadScript.urlParameters(AdadScript.java:390) at ir.adad.client.AdadScript.downloadClient(AdadScript.java:148) at ir.adad.client.AdadScript.initializeInternal(AdadScript.java:134) at ir.adad.client.AdadScript.initializeClient(AdadScript.java:110) at ir.adad.client.Adad.initialize(Adad.java:22) at ir.parsinteam.ojoobe.activities.MainActivity.onCreate(MainActivity.java:62) at android.app.Activity.performCreate(Activity.java:6662) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) Application terminated.

在您的 build.gradle 中,将 play-services-gcm 和 play-services-location 升级到 15.0.1:

com.google.android.gms:play-services-gcm:15.0.1
com.google.android.gms:play-services-location:15.0.1

当我们尝试使用AccountKit FirebaseAuth等身份验证服务对用户进行身份验证时会发生这种情况,而这些服务依赖于play-services-auth所以,添加

implementation 'com.google.android.gms:play-services-auth:16.0.0'

在您的 build.gradle 依赖项上

我修复了这个问题。 请按照下面的代码。 将以下内容添加到android/build.gradle

allprojects {
    repositories {
    //start here
    configurations.all {
 resolutionStrategy.eachDependency { DependencyResolveDetails details ->
   def requested = details.requested
       if (requested.group == 'com.google.android.gms') {
          details.useVersion '12.0.1'
       }
       if (requested.group == 'com.google.firebase') {
          details.useVersion '12.0.1'
         }
       }
     }
    //end
     jcenter()
       maven {
         url "https://maven.google.com"
       }
     }
 }

好吧,我正在使用 Facebook 的 Account Kit。 在我添加play-services-auth问题解决后。

implementation 'com.facebook.android:account-kit-sdk:4.39.0'

implementation 'com.google.android.gms:play-services-auth:17.0.0'

我正在使用 react native 包

react-native-facebook-account-kit

通过添加解决

implementation 'com.google.android.gms:play-services-auth:16.0.1'

对我来说,我尝试添加实现 'com.google.android.gms:play-services-auth:18.0.0' 对我不起作用..

但是在添加以下依赖项后,它对我有用。

实现 'com.android.support:multidex:1.0.3'

我在启用 proguard 时遇到了这个问题,当我禁用它时,我没有崩溃。 我通过在我的应用程序级别 gradle 中添加以下依赖项来修复它。 我在我的应用中使用了 FCM、Firebase Analytics 和 google location。 所以我不得不添加以下内容,如果您没有使用任何内容,请跳过它。

implementation 'com.google.android.gms:play-services-location:17.0.0'
implementation 'com.google.firebase:firebase-messaging:20.2.0'
implementation 'com.google.firebase:firebase-analytics:17.4.3'

还要在您的 proguard 规则文件中添加以下内容。

-dontshrink
-dontoptimize
-dontwarn
-dontpreverify

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM