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.