build.gradle에 Maven 저장소 추가


118

Android Studio의 build.gradle에 사용자 지정 Maven 저장소를 추가했지만 종속성을 찾을 수 없습니다.

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에서 무엇을 놓치고 있습니까?

답변:


88

외부에서 저장소를 정의해야합니다 buildscript. buildscript구성 블록은 단지 빌드 스크립트의 클래스 경로가 아닌 응용 프로그램에 대한 저장소 및 종속성을 설정합니다.


이렇게하면 종속성이 정렬되었지만 Android Studio는 저장소를 다시로드하지 않았으므로 "import org.achartengine.chart. *;" 실패했습니다. 저장소를 "새로 고침"하는 방법을 알고 있습니까?
André Ricardo

3
따라야 할 매우 중요합니다. 이것에 15 분 낭비
Nitin Bansal

내부와 외부 모두 buildscript repositories동일한 원격 저장소 를 가져야합니까?
R.Abedi

158

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

순서가 중요합니다.


6
gradle 파일에 Cloudbees 인증을 어떻게 추가합니까?
inder 2015

기본적으로 maven 저장소가 build.gradle에 추가되도록 Android Studio를 수정하려면 어떻게해야합니까? 나는 이것을 계속 잊고 라이브러리가 로딩되지 않는 이유를 재발견해야한다.
마이크

36

Android Studio 사용자 :

등급을 사용하려면 http://search.maven.org/ 로 이동 하여 maven repo를 검색하십시오. 그런 다음 "최신 버전"을 클릭하면 왼쪽 하단의 세부 정보 페이지에 "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

다음과 같이 buildscript기본 build.gradle파일 의 구성 블록 외부에 maven 저장소를 추가합니다 .

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

다음 뒤에 추가해야합니다.

apply plugin: 'com.android.application'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.