2013-12-13 11 views
87

ich eine benutzerdefinierten Maven-Repository build.gradle in Android Studio hinzugefügt, aber die Abhängigkeit nichthinzufügen Maven-Repository build.gradle

Maven-Repository und die Abhängigkeit

<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

gefunden wird, wird
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') 
    } 
} 

Fehlermeldung im 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 

Was fehlt mir in build.gradle?

Antwort

72

Sie müssen das Repository außerhalb von buildscript definieren. Der Konfigurationsblock buildscript richtet nur die Repositorys und Abhängigkeiten für den Klassenpfad Ihres Buildskripts ein, jedoch nicht für Ihre Anwendung.

+0

dies sortiert die Abhängigkeit, aber Android Studio hat die Repositorys nicht neu geladen, so "importieren o rg.achartengine.chart. *; " gescheitert, weißt du, wie man die Repositories "auffrischt"? –

+0

Veryyyy wichtig zu folgen. Waste 15 Minuten in diesem –

134

Nach

apply plugin: 'com.android.application' 

Sie sollten hinzufügen:

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

@Benjamin erklärte den Grund.

Wenn Sie eine Maven mit Authentifizierung haben, können Sie verwenden:

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

Es ist die Reihenfolge wichtig.

+5

Wie fügen wir Cloudbees-Authentifizierung in der Gradle-Datei hinzu? – inder

+0

Wie kann ich Android Studio so ändern, dass das Maven-Repository standardmäßig zu build.gradle hinzugefügt wird. Ich vergesse das immer wieder und muss neu entdecken, warum Bibliotheken nicht laden. – Mike

24

Android Studio Benutzer:

Wenn Sie Klasse verwenden möchten, gehen Sie zu http://search.maven.org/ und für Ihre Maven Repo suchen. Klicke dann auf die "neueste Version" und auf der Detailseite unten links siehst du "Gradle", wo du diesen Link in die build.gradle deiner App kopieren und einfügen kannst.

enter image description here

+1

Sie haben meinen Tag gemacht, vielen Dank. Auch, warum ist das nicht in der offiziellen ZXing gh Seite?Es sollte nicht so schwer zu finden sein ... –

2

Sie haben repositories auf Ihre Build-Datei hinzuzufügen. Für Maven-Repositories müssen Sie mit Repository-Namen als Präfix maven{}

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

das Maven-Repository hinzufügen außerhalb des buildscript Konfigurationsblock Ihrer Haupt build.gradle Datei wie folgt:

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

Vergewissern Sie sich, dass Sie sie nach dem hinzufügen folgende:

apply plugin: 'com.android.application'