Dependencias de Maven con Android Studio / Gradle

Estoy usando el sistema de compilación de Gradle incluido con Android Studio. Hasta ahora, puedo crear configuraciones de varios proyectos utilizando dependencias que se almacenan en la estructura de mi proyecto. Ahora me gustaría usar una dependencia de maven, sin éxito. He escrito un archivo build.gradle muy simple que siempre falla:

buildscript { repositories { maven { url 'http://repo1.maven.org/maven2' } } dependencies { classpath 'com.android.tools.build:gradle:0.4' } } apply plugin: 'android' dependencies { compile 'com.google.android:support-v4:r7' } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 7 targetSdkVersion 16 } } 

Con el siguiente mensaje:

  * What went wrong: A problem occurred configuring project ':absabs'. > Failed to notify project evaluation listener. > Could not resolve all dependencies for configuration ':absabs:compile'. > Could not find com.google.android:support-v4:r7. Required by: absabs:absabs:unspecified .... Caused by: org.gradle.api.internal.artifacts.ivyservice.ModuleVersionNotFoundException: Could not find com.google.android:support-v4:r7. 

Sucede con cualquier artefacto que he probado hasta ahora. ¿Alguna idea de lo que está mal?

Gracias

El bloque de "repositorios" en la sección buildscript sólo se aplica al entorno de compilación. También es necesario especificar qué repositorio utilizar cuando se resuelven las dependencias para crear el proyecto, por lo que debe colocar algo como lo siguiente en el archivo build.gradle:

 repositories { mavenCentral() } 

Su archivo completo sería algo como esto:

 buildscript { repositories { maven { url 'http://repo1.maven.org/maven2' } } dependencies { classpath 'com.android.tools.build:gradle:0.4' } } apply plugin: 'android' repositories { mavenCentral() } dependencies { compile 'com.google.android:support-v4:r7' } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 7 targetSdkVersion 16 } } 

Observe las dos instancias de "repositorios". Puede leer más acerca de lo que esto significa realmente en los documentos de gradle .

Parece que la versión actual de Android Studio no recoge nuevas dependencias de inmediato. Intente reiniciar IDE.

Editar: no es necesario para Android Studio> = 0.1.4v. Tiene construcción en acción Sync Project with Gradle file . Puede encontrarlo en Tools > Android > Sync Project with Gradle file o simplemente en la barra de herramientas.

http://tools.android.com/tech-docs/new-build-system/user-guide

Nota: esto sólo afecta al código que ejecuta la compilación, no al proyecto. El propio proyecto necesita declarar sus propios repositorios y dependencias. Esto se tratará más adelante.

Así que tienes que declarar

  repositories { mavenCentral() } 

En su ámbito de proyecto una vez más.

Lo hice de esta manera:

En Top build.gradle (Project: YourProject) He añadido:

  buildscript { repositories { mavenCentral() } dependencies { classpath 'com.h2database:h2:1.4.187' //NOTE: you can get the latest version in http://mvnrepository.com/artifact/com.h2database/h2 } } allprojects { repositories { jcenter() mavenCentral() } } 

NOTA: He añadido esto junto con los repositorios jcenter () predefinidos.

Y luego para mi archivo app / build.gradle he añadido cualquier biblioteca o dependencia que necesitaba en:

 dependencies { ....//Add dependency here } 

Maven Maven continúa utilizando XML como formato para escribir la especificación de compilación. Sin embargo, la estructura es diametralmente diferente. Maven tiene sus propios problemas. Dependencias de gestión no maneja bien los conflictos entre las diferentes versiones de la misma biblioteca (algo Ivy es mucho mejor en). XML como formato de configuración de compilación está estrictamente estructurado y altamente estandarizado. La personalización de objetivos (metas) es difícil. Puesto que Maven se centra sobre todo en la gerencia de la dependencia, las escrituras complejas, modificadas para requisitos particulares son realmente más duras de escribir en Maven que en gradel.

  • Gradle Android plugin generar archivos R para diferentes sabores de productos?
  • Excluir variantes de construcción específicas
  • Error: El proyecto utiliza una versión no compatible del complemento Android Gradle (0.12.2)
  • Android Studio "No se encontraron pruebas"
  • React-native android assembleDebug log: Archivo de código fuente desconocido: warning: string 'catalyst_debugjs' no tiene traducción por defecto
  • ¿Qué comandos realiza la función `gradle-aware 'de Android Studio
  • Gradle de Android: ¿qué significan los corchetes alrededor de la versión?
  • ¿Cómo determinar la versión de Gradle?
  • Cómo personalizar el nombre de archivo APK para los sabores de producto?
  • Gradle buildConfigField con una variable entera
  • Múltiples archivos dex definen Lcom / amazon / ags / BuildConfig cuando se usa GameCircleSDK en Android Studio
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.