No se pudo encontrar com.android.tools.build:aapt2:3.2.0

104

AndroidStudio3.2 Canary14 falla al limpiar y reconstruir con el siguiente error

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
fuente

Respuestas:

238

A partir de Android Studio 3.2 Canary 11, la fuente de AAPT2 (Android Asset Packaging Tool 2) es el repositorio Maven de Google.

Para usar AAPT2, asegúrese de tener una dependencia de google () en su archivo build.gradle, como se muestra aquí:

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

La nueva versión de AAPT2 corrige muchos problemas, incluido el manejo mejorado de caracteres no ASCII en Windows.

Agregar los repositorios en el buildscriptno es suficiente, debe agregarlo también en allprojects.

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

Izabela Orlowska
fuente
30
Esto lo solucionó para mí: tenía google()en buildscriptrepositorios pero no en allprojectsrepositorios. Muy agradecido.
LarsH
1
¡Gracias! es una solución tan simple. Surge la pregunta de por qué el mensaje de error tiene que ser tan críptico que la acción recomendada no se incluyó de forma predeterminada
Antony
3
La respuesta de LarsH ayudó, un punto más es que google () también debería estar presente sobre los demás. El pedido también importa aquí.
Reejesh PK
¿También es posible construir el proyecto sin la google()dependencia?
white_gecko
Puede descargar el artefacto de maven y ponerlo en su repositorio sin conexión si realmente lo desea
Izabela Orlowska
41

¿Estás abriendo un proyecto muy antiguo? Si es así, asegúrese de que build.gradle de su aplicación tenga:

apply plugin: 'com.android.application'

repositories {
    google()
    jcenter()
} 

(Eso me lo resolvió de todos modos)

Pico
fuente
La parte importante es la dependencia del repositorio "google ()".
Izabela Orlowska
11
Para mí fue la orden. Lo tenía google()pero estaba en la lista de repositorios. Moverlo a la parte superior de la lista de repositorios solucionó el problema.
Ezekiel Sebastine
esto debería aceptarse ... (para abrir proyectos antiguos al menos) ... el repositorio de claves era google () y se puede colocar en build.gradle de la aplicación o más bien en build.gradle del proyecto en allprojects> repositories, donde jcenter () normalmente ya lo es
Lukáš Řádek
19

Simplemente agregue google()su buidscript y todos los proyectos y luego reconstruya el proyecto.

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

allprojects {
    repositories {
        google() // `<-- here`
    }
}
fMadTech
fuente
Gracias por la ayuda. Agregar todos los proyectos resolvió el problema
Haris Durrani
5

Actualice la dependencia del archivo build.grade de su aplicación con la versión actualizada de grade

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

Siga la sugerencia de Android Studio de la versión para actualizar. después de actualizar la ruta de clase de su calificación y volver a sincronizar su aplicación.

Después de todo esto, reinicia tu estudio de Android .

Samson Ayalew
fuente
3

Resuelvo este problema cambiando "distributionUrl" en android/gradle/gradle-wrapper.properties.

El valor predeterminado era https\://services.gradle.org/distributions/gradle-4.10.2-all.zipy lo cambié a https\://services.gradle.org/distributions/gradle-5.4.1-all.zipy el error desapareció.

Amir Ajorloo
fuente
3

Tuve este mensaje de error:

No se pudo descargar aapt2-osx.jar (com.android.tools.build:aapt2:3.5.0-5435860): no hay una versión en caché disponible para el modo fuera de línea

Incluso si hubiera definido todas las dependencias necesarias para mi proyecto y la configuración correcta en mi build.gradle:

apply plugin: 'com.android.application'

repositories {
    google()
    jcenter()
} 

El error sigue ocurriendo, pero este mensaje me dio una pista de lo que estaba sucediendo:

No hay una versión en caché disponible para el modo sin conexión

Entonces descubrí que estaba trabajando sin conexión, debes desmarcar el "modo sin conexión" y luego Android Studio podrá descargar los recursos necesarios para crear el proyecto .

ingrese la descripción de la imagen aquí

Cuando su proyecto esté funcionando nuevamente, puede verificar nuevamente para trabajar sin conexión.

Jorgesys
fuente
3

Estoy en Irán y el repositorio de Google está restringido en mi ubicación. Cuando cambié mi IP a otro país, este problema se resolvió. Parece que puede tener un problema de conexión a Internet cuando ocurre este error.

AliSh
fuente
en realidad estoy usando vpn pero el problema aún me recuerda y no puedo ejecutar el proyecto.
Nadia
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()
    }
}
林 嗳 莫
fuente
0

La solución es un proceso de cuatro pasos,

  1. cambie la ruta de clase en build.gradle a la versión deseada.
  2. Sincronizar ahora
  3. Después de que descargue todos los archivos, puede eliminar el nuevo y agregar la versión anterior en Gradle.
  4. Sincronizar ahora
hanif s
fuente
0

En mi caso, pude resolverlo actualizando "Android SDK Build-Tools" a la última versión.

En Android Studio, vaya a Herramientas -> SDK Manager -> Seleccione la pestaña de herramientas SDK -> verifique si hay alguna actualización disponible para Android SDK Build - Tools (actualizado a la última v30.0.0).

ingrese la descripción de la imagen aquí

Narshim
fuente
-1

necesita grabar en: build.gradle () y escribir google () y esta opción hacerlo en la sección buildscript & allproject

DonMoh
fuente
1
esto es más un comentario que una respuesta
sudo97
-2

si google () no se corrigió, entonces Archivo -> Configuración -> Compilación, Ejecución, Implementación -> Gradle

Luego, desmarque Trabajo fuera de línea, Listo.

Saljith Kj
fuente