android studio 出现奇怪的错误,网上没有类似的错误,也不知道原因

Strange error in android studio, nothing similar online and no idea of the cause

我是一名新的 android 开发人员,每次我尝试 运行 模拟器来测试我的应用程序时,我都会收到以下错误:

2020-08-05 15:08:30.625 8361-8361/com.example.tender E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.tender, PID: 8361
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/internal/zzx;
    at com.google.android.gms.measurement.internal.zzw.zzaT(Unknown Source:0)
    at com.google.android.gms.measurement.AppMeasurementContentProvider.onCreate(Unknown Source:4)
    at android.content.ContentProvider.attachInfo(ContentProvider.java:2388)
    at android.content.ContentProvider.attachInfo(ContentProvider.java:2358)
    at android.app.ActivityThread.installProvider(ActivityThread.java:7239)
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:6780)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6697)
    at android.app.ActivityThread.access00(ActivityThread.java:237)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:223)
    at android.app.ActivityThread.main(ActivityThread.java:7656)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
 Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.internal.zzx" on path: DexPathList[[zip file "/data/app/~~7yQ-4JW3qh-QJVNZiOJdsA==/com.example.tender-hor871ahRQoy1oE54-r8dg==/base.apk"],nativeLibraryDirectories=[/data/app/~~7yQ-4JW3qh-QJVNZiOJdsA==/com.example.tender-hor871ahRQoy1oE54-r8dg==/lib/x86, /system/lib, /system_ext/lib, /product/lib]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    at com.google.android.gms.measurement.internal.zzw.zzaT(Unknown Source:0) 
    at com.google.android.gms.measurement.AppMeasurementContentProvider.onCreate(Unknown Source:4) 
    at android.content.ContentProvider.attachInfo(ContentProvider.java:2388) 
    at android.content.ContentProvider.attachInfo(ContentProvider.java:2358) 
    at android.app.ActivityThread.installProvider(ActivityThread.java:7239) 
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:6780) 
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6697) 
    at android.app.ActivityThread.access00(ActivityThread.java:237) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913) 
    at android.os.Handler.dispatchMessage(Handler.java:106) 
    at android.os.Looper.loop(Looper.java:223) 
    at android.app.ActivityThread.main(ActivityThread.java:7656) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) 

知道是什么原因造成的吗?我恢复了过去两天的更改但无济于事,并且搜索 google 没有人遇到类似的情况。如果有人能理解错误,请帮忙。对于上下文,我最近将 Google Places SDK 添加到我的应用程序中,但即使我注释掉所有与之相关的代码也会出现此错误。

编辑:根据要求,这是我的模块级 build.gradle 文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.0"

    defaultConfig {
        applicationId "com.example.tender"
        minSdkVersion 21
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.google.android.gms:play-services-maps:17.0.0'
    implementation 'com.google.android.gms:play-services:8.4.0'
    implementation 'com.google.android.libraries.places:places:2.2.0'

}

我还不能发表评论,但我假设您在构建时使用的是 R8 或 Proguard,并且它在它试图找到的 Google Places SDK 中混淆了 classes/fields/interfaces 等在运行时通过反射。

找到该库的相关规则以包含在您的 R8/Proguard 规则文件中,这样它们在构建时将保持 un-obfuscated。

编辑:此外,您是否在此应用程序中使用 multidex?

EDIT2:在评论中与 OP 一起工作 - 问题似乎源于将旧的通用捆绑 'play-services' 库与特定 [=26] 结合使用=] 图书馆(如地图和地点)。删除捆绑库解决了他们的问题。