2013-12-13 4 views
87

Я добавил хранилище пользовательских Maven для build.gradle в Android Studio, но зависимость не найдендобавить Maven репозиторий build.gradle

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

сообщение об ошибке в 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 

Что мне недостает в build.gradle?

ответ

72

Вам нужно будет определить хранилище за пределами buildscript. Блок конфигурации buildscript устанавливает только репозитории и зависимости для пути к классам скрипта сборки, но не для вашего приложения.

+0

эта сортировка зависимости, но Android Studio не перезагружает хранилища, поэтому «import o rg.achartengine.chart *;». не удалось, знаете ли вы, как «обновлять» репозитории? –

+0

Очень важно следить. Прошло 15 минут на этом –

134

После

apply plugin: 'com.android.application' 

Вы должны добавить следующее:

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

@Benjamin объяснил причину.

Если у вас есть Maven с аутентификацией вы можете использовать:

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

Важно порядок.

+5

Как добавить проверку подлинности облачных объектов в файл gradle? – inder

+0

Как изменить версию Android Studio, чтобы по умолчанию был добавлен репозиторий maven в build.gradle. Я забываю об этом и должен заново открыть, почему библиотеки не загружаются. – Mike

24

Android Studio Пользователи:

Если вы хотите использовать класс, перейдите к http://search.maven.org/ и искать для вашего Maven репо. Затем нажмите «последняя версия», а на странице сведений внизу слева вы увидите «Gradle», где вы можете скопировать/вставить эту ссылку в build.gradle вашего приложения.

enter image description here

+1

Ты сделал мой день, большое спасибо. Кроме того, почему это не на официальной странице ZXing gh?Это не должно быть так трудно найти ... –

2

Вы должны добавить repositories в файл сборки. Для Maven репозиториев есть префикс имени репозитория с maven{}

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

Добавить репозиторий Maven вне блока buildscript конфигурации основного build.gradle файла следующим образом:

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

Убедитесь, что вы добавить их после того, как следующие:

apply plugin: 'com.android.application' 
Смежные вопросы