Impossibile risolvere: com.android.support:appcompat-v7:26.0.0


84

Sto riscontrando questo problema in Android Studio.

Error:(22, 13) Failed to resolve: com.android.support:appcompat-v7:26.0.0
<a href="install.m2.repo">Install Repository and sync project</a><br><a href="openFile:C:/Users/username/AndroidStudioProjects/ElectroSave/app/build.gradle">Show in File</a><br><a href="open.dependency.in.project.structure">Show in Project Structure dialog</a>

Questo è il mio codice Gradle:

apply plugin: 'com.android.application'

android {
       compileSdkVersion 26
      buildToolsVersion "25.0.2"
    defaultConfig {
    applicationId "com.example.noelly.myapplication"
    minSdkVersion 19
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
}
   buildTypes {
      release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 
'proguard-rules.pro'




 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile 'com.android.support:appcompat-v7:26.0.0'
}

1
Penso che ci sia qualche problema sull'aggiornamento di Android Studio (versione stabile), ma funziona nella versione canary di Android Studio 3 Per risolvere il problema basta eseguire il downgrade del repository della libreria di supporto compilare 'com.android.support:cardview-v7:25.3.1'
Geek

Bene, l'hai fatto Install Repository and sync project?
OneCricketeer

7
@AndroidGeek Le versioni più recenti delle librerie di supporto si trovano nel repository di Google Maven, che necessita di configurazione developer.android.com/topic/libraries/support-library/…
OneCricketeer

Risposte:


212

Per utilizzare le librerie di supporto a partire dalla versione 26.0.0 è necessario aggiungere il repository Maven di Google al file build.gradle del progetto come descritto qui: https://developer.android.com/topic/libraries/support-library/setup.html

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

Per Android Studio 3.0.0 e versioni successive:

allprojects {
        repositories {
            jcenter()
            google()
        }
    }

assicurati solo di aggiungere google () sotto allprojects in buildscript, sarebbe già stato aggiunto. Ecco come è stato nel mio caso e sono riuscito a risolverlo da questa risposta.
Joe Kevin Rayan

59

Si prega di notare che dobbiamo aggiungere google maven per utilizzare la libreria di supporto a partire dalla revisione 25.4.0 . Come nella nota di rilascio dice :

Importante: le librerie di supporto sono ora disponibili tramite il repository Maven di Google. Non è necessario scaricare il repository di supporto da SDK Manager. Per ulteriori informazioni, vedere Configurazione della libreria di supporto.

Maggiori informazioni su Configurazione libreria di supporto .

Play servicese le Firebasedipendenze dalla versione 11.2.0 richiedono anche google maven. Leggi alcuni aggiornamenti alle app che utilizzano i servizi di Google Play e le API di Google Android Agosto 2017 - Nota sulla versione 11.2.0 .

Quindi devi aggiungere Google Maven alla tua radice in build.gradle questo modo:

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

Per il plugin Gradle build tools versione 3.0.0, puoi usare il google()repository (più a Migrate to Android Plugin for Gradle 3.0.0 ):

allprojects {
    repositories {
        jcenter()
        google()
    }
}

AGGIORNARE:

Dal repository Maven di Google :

Le versioni più recenti delle seguenti librerie Android sono disponibili dal repository Maven di Google:

Per aggiungerli alla tua build, devi prima includere il repository Maven di Google nel tuo file di primo livello / root build.gradle :

allprojects {
    repositories {
        google()

        // If you're using a version of Gradle lower than 4.1, you must instead use:
        // maven {
        //     url 'https://maven.google.com'
        // }
        // An alternative URL is 'https://dl.google.com/dl/android/maven2/'
    }
}

Quindi aggiungi la libreria desiderata al blocco delle dipendenze del tuo modulo. Ad esempio, la appcompatlibreria ha questo aspetto:

dependencies {
    compile 'com.android.support:appcompat-v7:26.1.0'
}

Tuttavia, se stai tentando di utilizzare una versione precedente delle librerie di cui sopra e la tua dipendenza non riesce, non è disponibile nel repository Maven e devi invece ottenere la libreria dal repository offline.


5
google()non esiste nel 2.3.3plugin Android per Gradle. Non proviene affatto dal plugin Android per Gradle. Viene dalla stessa Gradle. Esiste in Gradle 4.1 e non esiste in Gradle 3.3 - Non sono sicuro di dove sia stato aggiunto.
CommonsWare

1
Questa è la risposta completa, più la spiegazione del motivo per cui google () manca nelle versioni gradle precedenti
Stoycho Andreev

6
  1. Aggiungilo in build.gradle (Project: projectname)

    allprojects {
      repositories {
        jcenter()
        maven { url "https://maven.google.com" }
      }
    }
    
  2. Aggiungilo in build.gradle (Modulo: app)

    dependencies {
      compile 'com.android.support:appcompat-v7:26.1.0'
    }
    

5

Se usi già jitpack.io o qualsiasi repository. Puoi aggiungere il repository di Google in questo modo:

allprojects {
    repositories {
        maven { url "https://jitpack.io" }
        maven { url "https://maven.google.com" }
    }
}

3

hai dimenticato di aggiungere aggiungi alpha1 nell'area del modulo

compile 'com.android.support:appcompat-v7:26.0.0-alpha1'

usa il repository Maven nell'area del progetto questo è tutto

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

3

modificare

compile 'com.android.support:appcompat-v7:26.0'

per

`compile 'com.android.support:appcompat-v7:26.+'`

ha funzionato bene per me.


1

Se utilizzi Android Studio 3.0, aggiungi il repository di Google maven come mostrato di seguito:

allprojects {
  repositories {
    jcenter()
    google()
 }
}

1

inserisci qui la descrizione dell'immagineStavo affrontando lo stesso problema ma ho cambiato le dipendenze da 26.0.0-beta1 a 26.1.0 e ora funziona.


Consiglierei di includere il testo effettivo necessario per risolverlo, invece di uno screenshot. In questo modo possiamo assicurarci che i motori di ricerca lo capiscano, inoltre è molto più pulito.
Taegost

1

Il mio problema è stato risolto con l'aiuto dei seguenti passaggi:

Per gradle 3.0.0 e versioni successive

  1. aggiungi google () sotto jcenter ()
  2. Modificare compileSdkVersion su 26 e buildToolsVersion su 26.0.2
  3. Passare a gradle-4.2.1-all.zip nel file gradle_wrapper.properties

1

L'aggiunta del contenuto seguente nel gradle principale ha risolto il problema per me:

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

0

Vai al percorso SDK: SDK\extras\android\m2repository\com\android\support\appcompat-v7 per vedere il nome della dipendenza corretto, quindi cambia il nome se la tua dipendenza è la versione alpha:

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile 'com.android.support:appcompat-v7:26.0.0'
}

per :

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
}

0

File -> Struttura progetto -> Moduli (app) -> Apri scheda dipendenze -> Rimuovi tutto, quindi usa +per aggiungere dall'elenco proposto.


0

Puoi controllare l'accesso a Internet? Se non hai accesso a Internet, il tuo ide non scarica il pacchetto, hai riscontrato questo problema.


0

1 - in build.gradle cambia il mio supportLibVersion in 26.0.0

2 - in app / build.gradle utilizzare:

implementazione "com.android.support:appcompat v7: $ {rootProject.ext.supportLibVersion}"

3 - cd android

4 - ./gradlew clean

5 - ./gradlew assemblareRelease

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.