Cómo importar la dependencia de Maven en Android Studio / IntelliJ?


He creado un nuevo proyecto de Android utilizando el asistente predeterminado en Android Studio. Compilado e implementado la aplicación en mi dispositivo. Todo está bien.

Ahora quiero importar una biblioteca externa que está disponible en Maven. ( http://square.github.io/picasso / ). Fui a las propiedades del módulo, y agregué una biblioteca Maven. Se muestra correctamente en la lista de dependencias. Además, aparece en el editor y puedo usarlo correctamente en el código.

Sin embargo, en tiempo de compilación, obtengo un Error de Gradle: no se puede encontrar la clase

¿Alguna idea?

Author: munkay, 2013-05-16

5 answers

A partir de la versión 0.8.9, Android Studio admite el repositorio Central Maven de forma predeterminada. Así que para agregar una dependencia externa maven todo lo que necesita hacer es editar la compilación del módulo.gradle e inserte una línea en la sección de dependencias como esta:

dependencies {

    // Remote binary dependency
    compile 'net.schmizz:sshj:0.10.0'

}

Verá un mensaje como ' Sincronizar ahora...'- haga clic en él y espere a que el repositorio maven se descargue junto con todas sus dependencias. Habrá algunos mensajes en la barra de estado en la parte inferior que le dicen lo que está sucediendo respecto a la descarga. Después de que termine esto, el archivo JAR importado junto con sus dependencias se listarán en el árbol de Repositorios Externos en la ventana del Navegador del proyecto, como se muestra a continuación.

introduzca la descripción de la imagen aquí

Algunas explicaciones más aquí: http://developer.android.com/sdk/installing/studio-build.html

 64
Author: dodgy_coder,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-29 12:30:45

Estoy usando el artefacto springframework android como ejemplo

Construcción abierta.gradle

Luego agregue lo siguiente al mismo nivel que aplicar plugin:'android'

apply plugin: 'android'

repositories {
    mavenCentral()
}

dependencies {
   compile group: 'org.springframework.android', name: 'spring-android-rest-template', version: '1.0.1.RELEASE'
}

También puede usar esta notación para artefactos maven

compile 'org.springframework.android:spring-android-rest-template:1.0.1.RELEASE'

Su IDE debería mostrar el jar y sus dependencias en 'Bibliotecas externas' si no aparece tratar de reiniciar el IDE (esto me pasó un poco)

Aquí está el ejemplo que usted proporcionó que obras

buildscript { 
    repositories { 
        maven { 
            url 'repo1.maven.org/maven2'; 
        } 
    } 
    dependencies { 
        classpath 'com.android.tools.build:gradle:0.4' 
    } 
} 
apply plugin: 'android'

repositories {
    mavenCentral()
}

dependencies { 
    compile files('libs/android-support-v4.jar') 
    compile group:'com.squareup.picasso', name:'picasso', version:'1.0.1' 
} 
android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 
    defaultConfig { 
        minSdkVersion 14 
        targetSdkVersion 17 
    } 
} 
 77
Author: user1568967,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-16 23:08:32

Android Studio 3

Las respuestas que hablan de Maven Central están fechadas ya que Android Studio usa JCenter como el centro de repositorio predeterminado ahora. La construcción de tu proyecto.el archivo gradle debería tener algo como esto:

repositories {
    google()
    jcenter()
}

Así que mientras el desarrollador tenga su repositorio Maven allí (lo que Picasso hace), entonces todo lo que tendría que hacer es agregar una sola línea a la sección de dependencias de la compilación de su aplicación.archivo gradle.

dependencies {
    // ...
    implementation 'com.squareup.picasso:picasso:2.5.2'
}
 4
Author: Suragch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-31 01:51:15
  1. Desmarque" Trabajo sin conexión " en Archivo>Configuración>Gradle>Gradle global Preferencias
  2. Vuelva a sincronizar el proyecto, por ejemplo, reiniciando Android Studio
  3. Una vez sincronizado, puede marcar la opción de nuevo para trabajar sin conexión.
 3
Author: rinkesh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-26 07:42:50

Intenta itext. Añadir dependencia a su build.gradle para la última fecha de este post

Nota: versión especial para Android, detrás de "g":

dependencies {
    compile 'com.itextpdf:itextg:5.5.9'
}
 0
Author: tom,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-05 10:55:08