web-dev-qa-db-fra.com

Impossible de résoudre la dépendance pour ': app @ debug/compileClasspath': impossible de résoudre com.google.Android.gms: play-services-basement: [15.0.0,16.0.0)

Je reçois cette erreur: Voici mon build.gradle (Module: app)

apply plugin: 'com.Android.application'
apply plugin: 'io.fabric'

Android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.mycompany.myapp"
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
    dataBinding.enabled = true
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.Android.support:appcompat-v7:26.1.0'
    implementation 'com.google.firebase:firebase-core:15.0.0'
    compileOnly "org.projectlombok:lombok:1.16.20"
    annotationProcessor 'org.projectlombok:lombok:1.16.20'
    implementation 'com.Android.support.constraint:constraint-layout:1.1.0'
    implementation 'com.google.code.gson:gson:2.8.1'
    implementation 'com.Android.volley:volley:1.1.0'
    implementation 'com.Android.support:design:26.1.0'
    implementation 'com.Android.support:support-v4:26.1.0'
    implementation 'com.google.Android.gms:play-services-maps:15.0.0'
    implementation 'com.google.Android.gms:play-services-location:15.0.0'
    implementation 'com.google.Android.gms:play-services-places:15.0.0'
    implementation 'com.paytm.pgsdk:pgsdk:1.0.8'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.Android.support.test:runner:1.0.1'
    androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'
    compile 'com.crashlytics.sdk.Android:crashlytics:2.9.1'
}

apply plugin: 'com.google.gms.google-services'

et voici mon build.gradle (Projet: myApp)

buildscript {

    repositories {
        google()
        jcenter()
        maven {
            url 'https://maven.fabric.io/public'
        }
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.0.1'
        classpath 'io.fabric.tools:gradle:1.25.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'com.google.gms:google-services:3.1.0'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven {
            url 'https://maven.google.com/'
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

J'ai vérifié d'autres solutions, la plupart d'entre elles suggèrent d'ajouter

maven { url "https://maven.google.com" }

construire.classe de projet. J'ai déjà essayé cela, mais j'obtiens toujours la même erreur.

Je suis sur Android studio 3.0 . J'ai aussi essayé d'ajouter google() au lieu de maven (autre suggestion)

6
Anirudh Bagri

Aller au File -> Other Settings -> Default Settings -> Build, Execution, Deployment -> Build Tools -> Gradle ->

Et décochez l'option Offline work.

5
Alireza Noorali

J'avais le même problème lorsque j'utilisais OneSignal pour gérer les notifications Push dans mon application Android.

La solution consiste à ajouter la clause exclude à sa dépendance:

implementation ('com.onesignal:OneSignal:3.8.3'){
    exclude group: 'com.google.Android.gms'
}

dans le dossier de l'application, puis ajoutez manuellement toute autre dépendance manquante, telle que:

implementation 'com.google.Android.gms:play-services-appinvite:16.1.0'

Le problème est que le SDK OneSignal contient des dépendances du service Google Play qui ne sont pas de la même version que la dernière version de gms et firesbase que j'ai utilisées dans l'application.

Je vous suggère donc de déterminer une dépendance que vous avez ajoutée et qui utilise le service google play dans le projet et d'utiliser la clause exclude. Bien que votre diplôme devrait construire si votre système est connecté à Internet.

J'espère que c'est utile.

0
Opeyemi