добавить репозиторий maven в build.gradle

118

Я добавил собственный репозиторий maven в build.gradle в Android Studio, но зависимость не обнаружена

Репозиторий 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?

Андре Рикардо
источник

Ответы:

89

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

Бенджамин Мушко
источник
это отсортировало зависимости, но Android Studio не перезагружала репозитории, поэтому "import org.achartengine.chart. *;" не удалось, вы знаете, как "обновить" репозитории?
Андре Рикардо
3
Очень важно следовать. Потрачено 15 минут на это
Нитин Бансал
должны ли buildscript repositoriesбыть одни и те же удаленные репозитории внутри и снаружи ?
Р.Абеди
159

После

apply plugin: 'com.android.application'

Вы должны добавить это:

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

@ Бенджамин объяснил причину.

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

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

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

Габриэле Мариотти
источник
6
Как добавить аутентификацию Cloudbees в файл Gradle?
2014
Как я могу изменить Android Studio, чтобы репозиторий maven был добавлен в build.gradle по умолчанию. Я все время забываю об этом, и мне приходится заново открывать, почему библиотеки не загружаются.
Майк,
36

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

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

введите описание изображения здесь

Микро
источник
1
Вы сделали мой день, большое вам спасибо. Кроме того, почему этого нет на официальной странице ZXing gh? Это не должно быть так сложно найти ...
Надя Кастелли
8

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

repositories {
  maven { url "http://maven.springframework.org/release" }
  maven { url "http://maven.restlet.org" }
  mavenCentral()
}
Марцин Шимчак
источник
6

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

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

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

apply plugin: 'com.android.application'
Касуми Гунасекара
источник