web-dev-qa-db-fra.com

Erreur: impossible d'accéder à zzbgl

Je développe une application et j'obtiens l'erreur suivante:

error: cannot access zzbgl
class file for com.google.Android.gms.internal.zzbgl not found

Je sais qu'il y a une question ici dans StackOverflow avec la même erreur que je reçois il y a 4 jours mais la réponse n'a pas aidé dans mon cas. (Je parle de celui-ci )

L'erreur est apparue juste après avoir configuré Firebase Analytics dans mon projet.

Mon fichier build.gradle (Module: app) est le suivant:

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'

Mon fichier build.gradle (Project: myPorojectName) est le suivant:

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'
        }
    }
}

Et cliquer sur l'erreur m'amène ici , juste après nouvelles options de marqueur ():

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())));

(étant mapView une instance GoogleMap).

J'espère que quelqu'un peut voir l'erreur et résoudre ce problème, merci beaucoup à l'avance. Si vous avez besoin de plus d'informations pour résoudre ce problème, faites-le moi savoir.

7
P. Vera

Les Notes de version de l'API Google indiquent que la prise en charge de la combinaison play-services bibliothèque terminée en avril 2018:

À partir de la version 15.0.0, il n'y aura plus de cible d'alias de services de jeu pour intégrer tous les composants des services Google Play. Cela est déconseillé depuis un certain temps.

Vous ne pouvez plus spécifier une seule dépendance à la cible des services Google Play combinés comme ceci:

implementation 'com.google.Android.gms:play-services:12.0.1'.

Lorsque cela était pris en charge avec les versions précédentes, il récupérait [~ # ~] toutes les [~ # ~] les bibliothèques Google Play bien plus que nécessaire. Consultez la liste des API dans le tableau 1 du Guide d'installation et n'incluez que celles spécifiques que votre application utilise.

Une vérification de Google Maven Repository confirme que la version 12.0.1 était la dernière version de la cible des services de jeux combinés.

Veuillez donc supprimer la mise en œuvre ci-dessus et utiliser uniquement:

implementation "com.google.Android.gms:play-services-base:15.0.1"

Si vous utilisez également d'autres services de jeu, veuillez les ajouter en tant que dépendances distinctes.

3
Alex Mamo

Je pense que votre principale raison de l'erreur est que vous utilisez 2 versions différentes pour les bibliothèques de services de jeu

        implementation 'com.google.Android.gms:play-services:12.0.1'

Le voici 12.0.1

        implementation "com.google.Android.gms:play-services-base:15.0.1"

Alors qu'ici c'est 15.0.1.

Essayez d'utiliser la même version des bibliothèques associées partout.

1
Vivek Mishra

Simplement, vous devez changer une dépendance car 12.0.1 n'est plus

implementation 'com.google.Android.gms:play-services:12.0.1'

À

implementation 'com.google.Android.gms:play-services-base:15.0.1'

Et appuyez sur synchroniser Gradle

J'espère que cela peut vous aider

0
InsaneCat

met à jour la version de toutes les dépendances. Généralement, cette erreur se produit si vous travaillez avec plusieurs dépendances nouvelles et anciennes.

0
Bacar Pereira