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.

  • ¿Cómo ejecutar la prueba de unidad en un módulo de Android?
  • Incluya la biblioteca .so en apk en android studio
  • Aspectos del Informe de Cobertura de Jacoco
  • Recursos de la biblioteca gradle de Android en el sabor del producto
  • No se puede generar proyecto con minSdk = 21
  • No se pudo encontrar el método android () para los argumentos en el proyecto de Android Studio
  • Android Studio 0.4. + Almacén de claves de depuración personalizado
  • Ejecutar AspectJ causa NoSuchMethodError: Aspect.aspectOf
  • ¿Es posible especificar testApplicationId por sabor en Gradle?
  • Uso de tipos de compilación en Gradle para ejecutar la misma aplicación que utiliza ContentProvider en un dispositivo
  • Gradle - Aplicar la configuración a todos los proyectos mediante el complemento
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.