ajouter le référentiel maven à build.gradle


118

J'ai ajouté un référentiel maven personnalisé à build.gradle dans Android Studio mais la dépendance n'est pas trouvée

Dépôt et dépendances 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')
    }
}

Message d'erreur dans 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

Que me manque-t-il dans build.gradle?

Réponses:


88

Vous devrez définir le référentiel en dehors de buildscript. Le buildscriptbloc de configuration configure uniquement les référentiels et les dépendances pour le chemin de classe de votre script de construction, mais pas pour votre application.


cela a trié la dépendance, mais Android Studio n'a pas rechargé les référentiels, donc "import org.achartengine.chart. *;" échoué, savez-vous comment "actualiser" les référentiels?
André Ricardo

3
Très important à suivre. Gâché 15 minutes sur celui-ci
Nitin Bansal

devrait à la fois à l'intérieur et à l'extérieur d' buildscript repositoriesavoir les mêmes dépôts distants?
R.Abedi

158

Après

apply plugin: 'com.android.application'

Vous devez ajouter ceci:

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

@Benjamin a expliqué la raison.

Si vous avez un maven avec authentification, vous pouvez utiliser:

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

Il est important de l'ordre.


6
Comment ajouter l'authentification cloudbees dans le fichier gradle?
inder

Comment puis-je modifier Android Studio pour que le référentiel maven soit ajouté par défaut à build.gradle. J'oublie toujours cela et je dois redécouvrir pourquoi les bibliothèques ne se chargent pas.
Mike

36

Utilisateurs d'Android Studio:

Si vous souhaitez utiliser le grade, accédez à http://search.maven.org/ et recherchez votre référentiel maven. Ensuite, cliquez sur "dernière version" et dans la page de détails en bas à gauche, vous verrez "Gradle" où vous pouvez ensuite copier / coller ce lien dans build.gradle de votre application.

entrez la description de l'image ici


1
Vous avez fait ma journée, merci beaucoup. Aussi, pourquoi ce n'est pas dans la page officielle de ZXing gh? Ça ne devrait pas être si difficile à trouver ...
Nadia Castelli

8

Vous devez ajouter repositoriesà votre fichier de construction. Pour les référentiels maven, vous devez préfixer le nom du référentiel avecmaven{}

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

6

Ajoutez le référentiel maven en dehors du buildscriptbloc de configuration de votre build.gradlefichier principal comme suit:

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

Assurez-vous de les ajouter après ce qui suit:

apply plugin: 'com.android.application'
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.