2013-12-13 27 views
87

dodałem repozytorium maven niestandardowe do build.gradle w Android Studio ale zależność nie jest znaleźćdodać maven repozytorium do build.gradle

repozytorium Maven i zależność

<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') 
    } 
} 

komunikat o błędzie w 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 

Czego mi brakuje w build.gradle?

Odpowiedz

72

Konieczne będzie zdefiniowanie repozytorium poza numerem buildscript. Blok konfiguracyjny buildscript tworzy tylko repozytoria i zależności dla ścieżki klasy skryptu budowania, ale nie dla aplikacji.

+0

to posortowane zależności, ale Android Studio nie przeładować repozytoriów tak "import o rg.achartengine.chart. *; " nie udało się, czy wiesz, jak "odświeżyć" repozytoria? –

+0

Bardzo ważna do naśladowania. Zmarnowany 15 minut na tym jednym –

134

Po

apply plugin: 'com.android.application' 

Należy dodać to:

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

@Benjamin wyjaśnił przyczynę.

Jeśli masz Maven z uwierzytelnianiem można użyć:

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

Ważne jest kolejność.

+5

Jak dodajemy uwierzytelnianie chmur w pliku gradle? – inder

+0

W jaki sposób mogę zmodyfikować system Android Studio tak, aby domyślnie dodawano repozytorium maven do build.gradle. Ciągle o tym zapominam i muszę ponownie odkryć, dlaczego biblioteki się nie ładują. – Mike

24

Android Studio Użytkownicy:

Jeśli chcesz użyć klasy, przejdź do http://search.maven.org/ i szukać swojej maven repo. Następnie kliknij "najnowszą wersję", a na stronie szczegółów w lewym dolnym rogu zobaczysz "Gradle", gdzie możesz skopiować/wkleić ten link do pliku build.gradle Twojej aplikacji.

enter image description here

+1

Zrobiłeś mój dzień, dziękuję bardzo. Dlaczego tak nie jest na oficjalnej stronie gh ZXing?Nie powinno być tak trudno znaleźć ... –

2

Trzeba dodać repositories do pliku kompilacji. Dla repozytoriów maven trzeba poprzedzić repozytorium nazwę z maven{}

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

Dodaj repozytorium maven zewnątrz bloku buildscript konfiguracji głównej build.gradle pliku w następujący sposób:

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

Upewnij się, że dodasz je po następujące:

apply plugin: 'com.android.application' 
Powiązane problemy