agregue el repositorio de maven a build.gradle

118

Agregué un repositorio de maven personalizado para build.gradle en Android Studio pero no se encuentra la dependencia

Repositorio y dependencia de Maven

<repository>
    <id>achartengine</id>
    <name>Public AChartEngine repository</name>
    <url>https://repository-achartengine.forge.cloudbees.com/snapshot/</url>
</repository>

<dependency>
    <groupId>org.achartengine</groupId>
    <artifactId>achartengine</artifactId>
    <version>1.2.0</version>
</dependency>

build.gradle

buildscript {
    repositories {
        mavenCentral()
        maven {
            url "https://repository-achartengine.forge.cloudbees.com/snapshot/"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
apply plugin: 'android'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile group: 'org.achartengine', name: 'achartengine', version: '1.2.0'
}

android {
    compileSdkVersion 19
    buildToolsVersion "19"

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
}

Mensaje de error en Android Studio:

A problem occurred configuring root project 'My-MobileAndroid'.
> Failed to notify project evaluation listener.
> Could not resolve all dependencies for configuration ':_DebugCompile'.
  > Could not find org.achartengine:achartengine:1.2.0.
    Required by:
        :My-MobileAndroid:unspecified

¿Qué me falta en build.gradle?

André Ricardo
fuente

Respuestas:

88

Deberá definir el repositorio fuera de buildscript. El buildscriptbloque de configuración solo configura los repositorios y las dependencias para la ruta de clase de su script de compilación, pero no su aplicación.

Benjamín Muschko
fuente
esto ordenó la dependencia, pero Android Studio no recargó los repositorios así que "import org.achartengine.chart. *;" falló, ¿sabe cómo "actualizar" los repositorios?
André Ricardo
3
Muy importante seguir. Perdió 15 minutos en este
Nitin Bansal
¿Deberían tener tanto dentro como fuera buildscript repositorieslos mismos repositorios remotos?
R.Abedi
158

Después

apply plugin: 'com.android.application'

Deberías agregar esto:

  repositories {
        mavenCentral()
        maven {
            url "https://repository-achartengine.forge.cloudbees.com/snapshot/"
        }
    }

@Benjamin explicó el motivo.

Si tiene un maven con autenticación, puede usar:

repositories {
            mavenCentral()
            maven {
               credentials {
                   username xxx
                   password xxx
               }
               url    'http://mymaven/xxxx/repositories/releases/'
            }
}

Es importante el orden.

Gabriele Mariotti
fuente
6
¿Cómo agregamos la autenticación de cloudbees en el archivo gradle?
inder
¿Cómo puedo modificar Android Studio para que el repositorio de maven se agregue a build.gradle de forma predeterminada? Sigo olvidándome de esto y tengo que redescubrir por qué las bibliotecas no se cargan.
Mike
36

Usuarios de Android Studio:

Si desea utilizar la calificación, vaya a http://search.maven.org/ y busque su repositorio de maven. Luego, haga clic en la "última versión" y en la página de detalles en la parte inferior izquierda verá "Gradle", donde luego puede copiar / pegar ese enlace en build.gradle de su aplicación.

ingrese la descripción de la imagen aquí

Micro
fuente
1
Me alegraste el día, muchas gracias. Además, ¿por qué esto no está en la página oficial de ZXing gh? No debería ser tan difícil de encontrar ...
Nadia Castelli
8

Tienes que agregarlo repositoriesa tu archivo de compilación. Para repositorios maven, debe anteponer el nombre del repositorio conmaven{}

repositories {
  maven { url "http://maven.springframework.org/release" }
  maven { url "http://maven.restlet.org" }
  mavenCentral()
}
Marcin Szymczak
fuente
6

Agregue el repositorio de maven fuera del buildscriptbloque de configuración de su build.gradlearchivo principal de la siguiente manera:

repositories {
        maven {
            url "https://github.com/jitsi/jitsi-maven-repository/raw/master/releases"
        }
    }

Asegúrese de agregarlos después de lo siguiente:

apply plugin: 'com.android.application'
Kasumi Gunasekara
fuente