aggiungi il repository Maven a build.gradle


118

Ho aggiunto un repository Maven personalizzato a build.gradle in Android Studio ma la dipendenza non è stata trovata

Repository e dipendenza 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')
    }
}

Messaggio di errore in 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

Cosa mi manca in build.gradle?

Risposte:


88

Sarà necessario definire il repository al di fuori di buildscript. Il buildscriptblocco di configurazione imposta solo i repository e le dipendenze per il classpath del tuo script di build ma non la tua applicazione.


questo ha risolto la dipendenza, ma Android Studio non ha ricaricato i repository quindi "import org.achartengine.chart. *;" fallito, sai come "aggiornare" i repository?
André Ricardo

3
Molto importante da seguire. Ho sprecato 15 minuti su questo
Nitin Bansal

sia all'interno che all'esterno di buildscript repositoriesavere gli stessi repository remoti?
R. Abedi

158

Dopo

apply plugin: 'com.android.application'

Dovresti aggiungere questo:

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

@Benjamin ha spiegato il motivo.

Se hai un esperto con autenticazione puoi usare:

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

È importante l'ordine.


6
Come aggiungiamo l'autenticazione cloudbees nel file gradle?
inder

Come posso modificare Android Studio in modo che il repository maven venga aggiunto a build.gradle per impostazione predefinita. Continuo a dimenticarmene e devo riscoprire perché le librerie non vengono caricate.
Mike

36

Utenti di Android Studio:

Se vuoi usare grade, vai su http://search.maven.org/ e cerca il tuo repository Maven. Quindi, fai clic su "ultima versione" e nella pagina dei dettagli in basso a sinistra vedrai "Gradle" dove potrai copiare / incollare quel link nel file build.gradle della tua app.

inserisci qui la descrizione dell'immagine


1
Hai reso la mia giornata, grazie mille. Inoltre, perché questo non è nella pagina ufficiale di ZXing gh? Non dovrebbe essere così difficile trovare ...
Nadia Castelli

8

Devi aggiungere repositoriesal tuo file di build. Per i repository Maven devi anteporre al nome del repositorymaven{}

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

6

Aggiungi il repository maven al di fuori del buildscriptblocco di configurazione del tuo build.gradlefile principale come segue:

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

Assicurati di aggiungerli dopo quanto segue:

apply plugin: 'com.android.application'
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.