android - java.lang.NoClassDefFoundError:解析失败:Lcom/google/android/gms/common/internal/zzbq;将 Google 地图添加到 Android 应用程序时
问题描述
我正在将 Google Maps Activity 添加到连接到 Parse 服务器的应用程序中。我只是添加了地图活动并创建了相关的 API 密钥,并在尝试运行该应用程序时得到以下信息:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.parse.starter, PID: 14204
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/internal/zzbq;
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source:2)
at android.app.ActivityThread.installProvider(ActivityThread.java:6285)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:5851)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5772)
at android.app.ActivityThread.-wrap1(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1661)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.internal.zzbq" on path: DexPathList[[zip file "/data/app/com.parse.starter-pGR71qLVNb0LE-PnOSAJaA==/base.apk"],nativeLibraryDirectories=[/data/app/com.parse.starter-pGR71qLVNb0LE-PnOSAJaA==/lib/x86, /system/lib, /vendor/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source:2)
at android.app.ActivityThread.installProvider(ActivityThread.java:6285)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:5851)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5772)
at android.app.ActivityThread.-wrap1(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1661)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
我相信错误在 gradle 脚本中,因为它们以红色突出显示。因此,它们如下:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
mavenCentral()
maven {
url 'https://maven.google.com/'
name 'Google'
}
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
}
}
allprojects {
repositories {
mavenCentral()
maven {
url 'https://maven.google.com/'
name 'Google'
}
}
}
ext {
compileSdkVersion = 22
buildToolsVersion = "23.0.1"
minSdkVersion = 14
targetSdkVersion = 23
}
另一个gradle文件是:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion '27.0.3'
defaultConfig {
applicationId "com.parse.starter"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
multiDexEnabled true
}
dexOptions {
javaMaxHeapSize "4g"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation 'com.google.android.gms:play-services-maps:15.0.1'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.parse.bolts:bolts-tasks:1.3.0'
compile 'com.parse:parse-android:1.13.0'
compile 'com.google.android.gms:play-services:9.4.0'
compile 'com.android.support:multidex:1.0.0'
}
我已经尝试更新依赖版本,因为我得到了下面的红色错误行
compile 'com.android.support:appcompat-v7:23.4.0'
以及其他依赖项,但是错误仍然存在。我对 Android 开发非常陌生,所以我对这些文件中发生的事情一无所知。
编辑:一旦我发表评论:
implementation 'com.google.android.gms:play-services-maps:15.0.1'
该程序运行没有错误,但显然,谷歌地图无法正常工作。依赖版本是否与 gradle 版本不兼容?
解决方案
你有不同的版本
com.google.android.gms:play-services:9.4.0
com.google.android.gms:play-services-maps:15.0.1
修复它,它应该可以工作。
推荐阅读
- java - 为什么我对字节的 Java 位检查不稳定?
- netlogo - 如何在 NetLogo 6.2 中选择补丁变量的第二高值?
- function - 有谁知道如何在 Visual Studio Code 中自动获取参数名称?
- oracle - 根据不同字段查询分组依据
- python - 如何在python中将日期转换为字符串?
- javascript - 视频“结束”.addEventListener 没有工作
- r - 是否可以使用日期列中的某个日期范围仅用来自另一列的非零替换列中的 0
- vuejs2 - 路由更改后 $refs 为空
- node.js - Typescript lambda 找不到节点模块
- reactjs - 如何在反应中将道具从父组件传递给孙子组件