Impossible de trouver com.android.tools.build:aapt2:3.2.0

105

AndroidStudio3.2 Canary14 échoue au nettoyage et à la reconstruction avec l'erreur suivante

Could not find com.android.tools.build:aapt2:3.2.0-alpha14-4748712.
Searched in the following locations:
    file:~/Library/Android/sdk/extras/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712.pom
    file:~/Library/Android/sdk/extras/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712-osx.jar
    file:~/Library/Android/sdk/extras/google/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712.pom
    file:~/Library/Android/sdk/extras/google/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712-osx.jar
    file:~/Library/Android/sdk/extras/android/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712.pom
    file:~/Library/Android/sdk/extras/android/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712-osx.jar
    https://jcenter.bintray.com/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712.pom
    https://jcenter.bintray.com/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712-osx.jar
Required by:
    project :app
Arunabh Das
la source

Réponses:

239

À partir d'Android Studio 3.2 Canary 11, la source d'AAPT2 (Android Asset Packaging Tool 2) est le référentiel Maven de Google.

Pour utiliser AAPT2, assurez-vous que vous avez une dépendance google () dans votre fichier build.gradle, comme indiqué ici:

buildscript {
  repositories {
      google() // here
      jcenter()
  }
  dependencies {
      classpath 'com.android.tools.build:gradle:3.2.0-alpha12'
  }
} 
allprojects {
  repositories {
      google() // and here
      jcenter()
  }
}

La nouvelle version d'AAPT2 résout de nombreux problèmes, notamment une meilleure gestion des caractères non ASCII sous Windows.

L'ajout des référentiels dans le buildscriptn'est pas suffisant, vous devez également l'ajouter dansallprojects .

Source: https://developer.android.com/studio/releases/#aapt2_gmaven

Izabela Orlowska
la source
30
Ce fixe pour moi - j'avais google()en buildscriptprises en pension , mais pas allprojectsprises en pension. Infiniment reconnaissant.
LarsH le
1
Je vous remercie! c'est une solution si simple. Cela soulève la question de savoir pourquoi le message d'erreur doit être si cryptique que l'action recommandée n'a pas été incluse par défaut
Antony
3
La réponse LarsH a aidé, un autre point est que google () devrait également être présent au-dessus des autres. Commandez aussi Matters ici.
Reejesh PK
Est-il également possible de construire le projet sans la google()dépendance?
white_gecko
Vous pouvez télécharger l'artefact de maven et le mettre dans votre référentiel hors ligne si vous le souhaitez vraiment
Izabela Orlowska
41

Vous ouvrez un très vieux projet? Si tel est le cas, assurez-vous que build.gradle de votre application a:

apply plugin: 'com.android.application'

repositories {
    google()
    jcenter()
} 

(Cela m'a résolu de toute façon)

Pico
la source
La partie importante est la dépendance du référentiel "google ()".
Izabela Orlowska
11
Pour moi, c'était l'ordre. J'avais google()mais c'était en bas dans la liste des pensions. Le déplacer en haut de la liste des dépôts a résolu le problème.
Ezekiel Sebastine
cela devrait être accepté ... (au moins pour ouvrir d'anciens projets) ... le référentiel de clés était google () et il peut être placé soit dans build.gradle de l'application, soit dans le build.gradle du projet sous allprojects> repositories, où jcenter () est généralement déjà
Lukáš Řádek
19

Ajoutez simplement google()votre buidscript et tous les projets, puis reconstruisez le projet.

buildscript {
    repositories {
        google() // `enter code here`
    }
 }

allprojects {
    repositories {
        google() // `<-- here`
    }
}
fMadTech
la source
Merci pour l'aide. L'ajout de tous les projets a résolu le problème
Haris Durrani
5

Mettez à jour la dépendance du fichier build.grade de votre application avec la version mise à jour de grade

dependencies {    
  classpath 'com.android.tools.build:gradle:3.5.3'   
}

Suivez la suggestion de studio Android de la version à mettre à jour. après la mise à jour de votre parcours de classe et resynchronisez votre application.

Après tout cela, redémarrez votre studio Android .

Samson Ayalew
la source
3

Je résous ce problème en modifiant le "distributionUrl" dans android/gradle/gradle-wrapper.properties.

La valeur par défaut était https\://services.gradle.org/distributions/gradle-4.10.2-all.zipet je l'ai changée en https\://services.gradle.org/distributions/gradle-5.4.1-all.zipet l'erreur a disparu.

Amir Ajorloo
la source
3

J'ai eu ce message d'erreur:

Impossible de télécharger aapt2-osx.jar (com.android.tools.build:aapt2:3.5.0-5435860): aucune version mise en cache disponible pour le mode hors ligne

Même si j'avais défini toutes les dépendances nécessaires pour mon projet, et la bonne configuration dans mon build.gradle:

apply plugin: 'com.android.application'

repositories {
    google()
    jcenter()
} 

L'erreur se produit toujours, mais ce message m'a donné un indice de ce qui se passait:

Aucune version mise en cache disponible pour le mode hors ligne

J'ai donc découvert que je travaillais hors ligne, il faut décocher le "mode hors ligne" puis Android Studio pourra télécharger les ressources nécessaires pour créer le projet .

entrez la description de l'image ici

Lorsque votre projet fonctionne à nouveau, vous pouvez vérifier à nouveau pour travailler hors ligne.

Jorgesys
la source
3

Je suis en Iran et le référentiel google est limité dans mon pays. Lorsque j'ai changé mon adresse IP dans un autre pays, ce problème a été résolu. Il semble que vous ayez un problème de connexion Internet lorsque cette erreur se produit.

AliSh
la source
En fait, j'utilise VPN mais le problème me le rappelle encore et je ne peux pas exécuter le projet!
Nadia le
1
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
        google()  //导入旧版本项目时,一般来说该处依赖会在更改classpath中gradle版本是自动添加
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

allprojects {
    repositories {
       /*
        解决报错:Could not find com.android.tools.build:aapt2:3.3.0-5013011.
        Beginning with Android Studio 3.2 Canary 11, the source for AAPT2 (Android Asset Packaging Tool 2) is Google's Maven repository.
        To use AAPT2, make sure that you have a google() dependency in your build.gradle file, as shown here:
        */
        google() //但是此处不会,需要自主添加
        jcenter()
    }
}
林 嗳 莫
la source
0

La solution est un processus en quatre étapes,

  1. changez le classpath dans build.gradle à la version souhaitée.
  2. Synchroniser maintenant
  3. Après avoir téléchargé tous les fichiers, vous pouvez supprimer le nouveau et ajouter la version précédente dans Gradle.
  4. Synchroniser maintenant
hanif s
la source
0

Dans mon cas, j'ai pu le résoudre en mettant à jour "Android SDK Build-Tools" vers la dernière version.

Dans le studio Android, accédez à Outils -> Gestionnaire de SDK -> Sélectionnez l'onglet Outils du SDK -> vérifiez si une mise à jour est disponible pour Android SDK Build - Tools (mis à jour vers la dernière v30.0.0).

entrez la description de l'image ici

Narshim
la source
-1

vous devez enregistrer dans le: build.gradle () et tapez google () et cette option le faire dans la section buildscript & allproject

DonMoh
la source
1
ceci est plus un commentaire qu'une réponse
sudo97
-2

si google () n'est pas corrigé, alors File -> Setting -> Build, Execution, Deployment -> Gradle

Puis décochez Ofline Work, Done.

Saljith Kj
la source