Error "No se pudieron resolver todas las dependencias" del proyecto de Android de Gradle Build

79

Estoy tratando de construir mi primer proyecto con Gradle y creo que mis archivos y configuraciones de Gradle son correctos.

Estoy usando solo un módulo y las bibliotecas Support V4 + AppCompatBar.

Proyecto - build.gradle

allprojects {
    repositories {
        mavenCentral()
    }
}

Proyecto - settings.gradle

include ':AssignmentTempos21'

Módulo principal - build.gradle

buildscript {
    repositories {
        mavenCentral()
    }

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

apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 17
    }
}

dependencies {
    compile "com.android.support:support-v4:18.0.+"
    compile "com.android.support:appcompat-v7:18.0.+"
}

Salida de consola con el indicador -i:

MacBook-Air-de-Cesar-2:AssignmentTempos21 menor$ ./gradlew -i clean assemble
Starting Build
Settings evaluated using settings file '/Users/menor/workspace_android/AssignmentTempos21/settings.gradle'.
Projects loaded. Root project using build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle'.
Included projects: [root project 'AssignmentTempos21', project ':AssignmentTempos21']
Evaluating root project 'AssignmentTempos21' using build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle'.
Compiling build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle' using BuildScriptClasspathScriptTransformer.
Compiling build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle' using BuildScriptTransformer.
Evaluating project ':AssignmentTempos21' using build file '/Users/menor/workspace_android/AssignmentTempos21/AssignmentTempos21/build.gradle'.
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':AssignmentTempos21'.
> Failed to notify project evaluation listener.
   > Could not resolve all dependencies for configuration ':AssignmentTempos21:_DebugCompile'.
      > Could not find any version that matches com.android.support:support-v4:18.0.+.
        Required by:
            AssignmentTempos21:AssignmentTempos21:unspecified
      > Could not find any version that matches com.android.support:appcompat-v7:18.0.+.
        Required by:
            AssignmentTempos21:AssignmentTempos21:unspecified

* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.

BUILD FAILED

Total time: 40.787 secs
cesar
fuente
Vaya a este número y destaquelo. Parece que hay muchos problemas porque hay muchas bibliotecas sin publicar de jCenter.
Patricio Sard

Respuestas:

95

Como dice Peter, no estarán en Maven Central

desde Android SDK Manager, descargue el 'Repositorio de soporte de Android' y se descargará un repositorio de Maven de las bibliotecas de soporte en su directorio de Android SDK (consulte la carpeta 'extras')

para implementar las bibliotecas en su repositorio .m2 local, puede usar maven-android-sdk-deployer

Edición de 2017:

ahora puede hacer referencia al repositorio M2 en línea de Google

repositories {
google()
jcenter()
}
kassim
fuente
12
La descarga del "Repositorio de soporte de Android" desde "Android SDK Manager" resuelve definitivamente este problema que obtuve en los proyectos de Android Studio 0.4.3. Solo queda un poco de lástima por un mensaje de desaprobación de Gradle, pero esta es otra historia, así que abro esta pregunta
Franco Rondini
¿Podría explicar paso a paso: me refiero a la primera descarga maven-android-sdk-deployer, la segunda, qué?
Hosein Aqajani
@ H.Aqjn He reorganizado la respuesta para leer un poco mejor (creo), si está usando Gradle, debería estar bien solo para descargar el repositorio de soporte desde el Administrador de SDK
kassim
50

Vaya a donde instaló Android Studio (para mí está debajo C:\Users\username\AppData\Local\Android\android-studio\) y ábralo sdk\tools, luego ejecuteandroid.bat . Desde aquí, actualice y descargue las herramientas de compilación que falten y asegúrese de actualizar el repositorio de soporte de Android y la biblioteca de soporte de Android en Extras. Reinicie Android Studio después de que finalice SDK Manager.

Parece que Android Studio ignora por completo los archivos SDK de Android instalados y guarda una copia propia. Después de ejecutar una actualización, todo se compiló correctamente para mí usando compilarcom.android.support:appcompat-v7:18.0.+

usuario2433523
fuente
8
Esto realmente me ayudó. Esperaba que Android Studio usara el SDK de Android que había instalado manualmente en mi máquina. Hacer que el IDE use su propio SDK de Android en lugar de usar uno definido por el desarrollador es realmente molesto. El SDK debe estar separado del IDE.
samael
13
NO TENÍA IDEA de que Android Studio tenía su propia versión del SDK en AppData. ¡Esto es muy confuso!
pqvst
Tuve que instalar Extras / Android Support Library, reiniciar SDK Manager y luego apareció Android Support Repository.
Leos Literak
Esto eliminó un error sobre "com.android.support:appcompat-v7:19.+" para mí.
Nick Westgate
Bueno, también tuve una confusión similar cuando noté varias instancias de SDK de Android en mi máquina Ubuntu. Por lo tanto, tenía la mala sospecha de que AndroidStudio crea su propia instancia. Actualmente ejecuto AS v.2.1.2 y este mismo problema todavía está presente. Me pregunto si los planes del equipo para arreglar algún día pronto, o lo consideran una característica :)
Agotado
27

Si está ejecutando en CI sin cabeza y está instalando el SDK de Android a través de la línea de comando, asegúrese de incluir los paquetes m2repository en el --filterargumento:

android update sdk --no-ui --filter platform-tools,build-tools-19.0.1,android-19,extra-android-support,extra-android-m2repository,extra-google-m2repository

Actualizar

A partir de Android SDK Manager rev. 22.6.4 esto ya no funciona. Prueba esto en su lugar:

android list sdk --all

Obtendrá una lista de todos los paquetes SDK disponibles. Busque los valores numéricos de los componentes del primer comando anterior ("Repositorio de Google" y otros que puede que falten).

Instale los paquetes usando sus valores numéricos:

android update sdk --no-ui --all --filter <num>

Actualización n. ° 2 (septiembre de 2017)

Con las "nuevas" herramientas del SDK de Android que se lanzaron a principios de este año, el androidcomando ahora está en desuso y una funcionalidad similar se ha trasladado a una nueva herramienta llamadasdkmanager :

Enumere los componentes instalados:

sdkmanager --list

Actualice los componentes instalados:

sdkmanager --update

Instale un nuevo componente (por ejemplo, versión de herramientas de construcción 26.0.0):

sdkmanager 'build-tools;26.0.0'
friederbluemle
fuente
¡Gracias por la bonita línea de comandos! Desafortunadamente, ahora (Android SDK Manager rev. 22.6.4 (de Acerca de en GUI)) la respuesta que recibo es:, Error: Ignoring unknown package filter 'platform-tools'también para 'android-19'y 'extra-android-support'. ¡Salud!
sdaau
Recibo "La carpeta SWT '/ opt / android-sdk-linux / tools / lib / arm' no existe
Marian Klühspies
3
gracias por la pista. He corrido:, android list sdk --all |grep -i reposme da "98-Android Support Repository, revision 6"y "106-Google Repository, revision 11". Luego instalé ambos paquetes en ejecución, lo android update sdk -u -a -t 98,106que finalmente resolvió el problema (estoy usando adt-bundle-linux-x86-20140702.zip, no sé qué versión de SDK Manager es).
Mateusz Szulc
1
Salvó muchas vidas aquí al mencionar la necesidad de instalar Google Repository. Gracias.
Yati Sagade
Sí, el mío también se debió a faltar - 142 - Repositorio de soporte de Android, revisión 21150 - Repositorio de Google, revisión 22
Bruce Lim
5

Estas dependencias no existen en Maven Central ( ver esto ).

Peter Niederwieser
fuente
2
compileSdkVersion 17
targetSdkVersion 17

cambiar la versión de compilación de 18 a 17

compile "com.android.support:support-v4:17.0.+"
compile "com.android.support:appcompat-v7:17.0.+"
Kanishka
fuente
2

Además de la respuesta de Kassim:

Como dice Peter, no estarán en Maven Central

Utilice maven-android-sdk-deployer para implementar las bibliotecas en su repositorio local

O desde Android SDK Manager, descargue el repositorio de soporte de Android (en Extras) y se descargará un repositorio M2 de las bibliotecas de soporte en su directorio de Android SDK

También tuve que actualizar el "repositorio local de Maven para bibliotecas de soporte" en Android SDK Manager.

ModusPwnens
fuente
1

Para hacer eco de @friederbluemle, también puede iniciar el administrador de SDK desde la línea de comandos si tiene instaladas las herramientas de Android SDK:

$ android

y luego en la interfaz de usuario que aparece, seleccione las herramientas / repositorios que deben instalarse, en su caso, el repositorio de la biblioteca de soporte

kip2
fuente
1

escriba la siguiente declaración en el archivo build.gradle de su aplicación.

com.android.support:appcompat-v7:18.0.+

Eso es

Ganpat Kaliya
fuente
1

Trate de apagar el servidor de seguridad , it works for me. Parece que Android Studio quiere descargar algunas dependencias y nuestro firewall evita que lo descargue just be aware that turning your firewall off may lower the security of your computer. Si tiene más tiempo, puede permitir manualmente que su estudio de Android evite su firewall, de esta manera puede activar su firewall mientras permite que Android Studio descargue todo lo que quiera.

Cary Bondoc
fuente
1

Recibí este mensaje en Android Studio 2.1.1 en la pestaña Gradle Build. Instalé muchos archivos del SDK Manager pero no ayudó.

Necesitaba hacer clic en la siguiente pestaña "Gradle Sync". Había un enlace "Instalar repositorio y sincronizar proyecto" que instalaba el "Repositorio de soporte de Android".

PiTheNumber
fuente
1
  1. Instalar el administrador sdk de android
  2. compruebe si hay herramientas de construcción instaladas. instalar api 23.
  3. desde Android SDK Manager descargue el 'Repositorio de soporte de Android'
  4. eliminar cordova-plugin-android-support-v4
  5. construir
Matas Lesinskas
fuente
0

Agregue esto a su gradle:

allprojects {
    buildscript {
        repositories {
            maven {
                url "https://dl.bintray.com/android/android-tools"
            }
        }
    }
...
}
augustocbx
fuente