我正在开发应用程序,但出现以下错误:
error: cannot access zzbgl
class file for com.google.android.gms.internal.zzbgl not found
我知道StackOverflow中存在一个问题,与我4天前发布的错误相同,但是答案对我的情况没有帮助。 (我说的是this one)
在我的项目中设置Firebase Analytics之后,错误就出现了。
我的 build.gradle(模块:应用)文件是这样的:
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
android {
compileSdkVersion 26
buildToolsVersion '27.0.3'
useLibrary 'org.apache.http.legacy'
defaultConfig {
applicationId 'com.geoactio.montferri'
minSdkVersion 14
targetSdkVersion 26
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
dependencies {
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.android.support:appcompat-v7:26.1.0'
// compile 'com.google.code.ksoap2-android:ksoap2-android:3.6.0'
implementation 'com.google.android.gms:play-services:12.0.1'
//implementation 'com.google.android.gms:play-services-maps:15.0.1'
//implementation 'com.google.android.gms:play-services-location:15.0.1'
implementation "com.google.android.gms:play-services-base:15.0.1"
implementation 'com.navercorp.pulltorefresh:library:3.2.3@aar'
}
productFlavors {
}
lintOptions {
disable 'MissingTranslation'
}
dexOptions {
javaMaxHeapSize "4g"
preDexLibraries = false
}
}
repositories {
maven { url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases' }
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-messaging:17.1.0'
implementation('com.crashlytics.sdk.android:crashlytics:2.9.4@aar') {
transitive = true;
}
}
apply plugin: 'com.google.gms.google-services'
我的 build.gradle(项目:myPorojectName)文件是:
buildscript {
repositories {
jcenter()
maven {
url 'https://maven.google.com/'
name 'Google'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.4'
classpath 'com.google.gms:google-services:4.1.0'
}
}
allprojects {
repositories {
jcenter()
maven {
url 'https://maven.google.com/'
name 'Google'
}
}
}
然后点击错误,在新MarkerOptions()之后,在此处引导我:
mapView.addMarker(new MarkerOptions().position(new LatLng(puntomarker.getLatitud(), puntomarker.getLongitud()))
.zIndex(0.5f)
.anchor(0.5f, 0.5f)
.title(puntomarker.getId() + "")
.snippet(puntomarker.getNombre())
.icon(BitmapDescriptorFactory.fromBitmap(((BitmapDrawable) marker).getBitmap())));
(是 mapView 一个 GoogleMap 实例)。
我希望有人能看到错误并解决此问题,在此先非常感谢您。 如果您需要更多信息来解决此问题,请告诉我。
答案 0 :(得分:7)
Google API Release Notes表示对合并的hasownproperty
库的支持已于2018年4月终止:
从15.0.0开始,将不再有一个Play服务别名目标来引入所有Google Play服务组件。建议将其反对一段时间。
您再也不能像这样指定对合并的Google Play服务目标的单一依赖关系:
play-services
在以前的版本中支持此功能时,它会将 ALL 引入Google Play库的程度超出了您的需要。请参见Setup Guide表1中的API列表,并仅包括您的应用使用的特定API。
检查Google Maven Repository确认版本12.0.1是合并的播放服务目标的最新版本。
因此,请删除以上实现并仅使用:
implementation 'com.google.android.gms:play-services:12.0.1'.
如果您还使用其他播放服务,请将它们添加为单独的依赖项。
答案 1 :(得分:0)
我认为导致该错误的主要原因是您正在使用2个不同版本的播放服务库
implementation 'com.google.android.gms:play-services:12.0.1'
此处为 12.0.1
implementation "com.google.android.gms:play-services-base:15.0.1"
此处为 15.0.1。
尝试在各处使用相同版本的相关库。
答案 2 :(得分:0)
只需更改一个依赖关系,因为12.0.1不再存在
implementation 'com.google.android.gms:play-services:12.0.1'
收件人
implementation 'com.google.android.gms:play-services-base:15.0.1'
然后按同步Gradle
希望这可能对您有帮助
答案 3 :(得分:0)
更新所有依赖项的版本。 通常,如果您使用多个新旧依赖关系,则会发生此错误。