Gradle Build Android 프로젝트 '모든 종속성을 해결할 수 없음'오류


79

Gradle로 첫 번째 프로젝트를 빌드하려고하는데 gradle 파일과 설정이 정확하다고 생각합니다.

하나의 모듈 만 사용하고 있으며 V4 + AppCompatBar 라이브러리를 지원합니다.

프로젝트-build.gradle

allprojects {
    repositories {
        mavenCentral()
    }
}

프로젝트-settings.gradle

include ':AssignmentTempos21'

메인 모듈-build.gradle

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 17
    }
}

dependencies {
    compile "com.android.support:support-v4:18.0.+"
    compile "com.android.support:appcompat-v7:18.0.+"
}

-i 플래그가있는 콘솔 출력 :

MacBook-Air-de-Cesar-2:AssignmentTempos21 menor$ ./gradlew -i clean assemble
Starting Build
Settings evaluated using settings file '/Users/menor/workspace_android/AssignmentTempos21/settings.gradle'.
Projects loaded. Root project using build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle'.
Included projects: [root project 'AssignmentTempos21', project ':AssignmentTempos21']
Evaluating root project 'AssignmentTempos21' using build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle'.
Compiling build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle' using BuildScriptClasspathScriptTransformer.
Compiling build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle' using BuildScriptTransformer.
Evaluating project ':AssignmentTempos21' using build file '/Users/menor/workspace_android/AssignmentTempos21/AssignmentTempos21/build.gradle'.
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':AssignmentTempos21'.
> Failed to notify project evaluation listener.
   > Could not resolve all dependencies for configuration ':AssignmentTempos21:_DebugCompile'.
      > Could not find any version that matches com.android.support:support-v4:18.0.+.
        Required by:
            AssignmentTempos21:AssignmentTempos21:unspecified
      > Could not find any version that matches com.android.support:appcompat-v7:18.0.+.
        Required by:
            AssignmentTempos21:AssignmentTempos21:unspecified

* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.

BUILD FAILED

Total time: 40.787 secs

이 문제 로 이동하여 별표를 표시하십시오. jCenter에서 공개되지 않은 라이브러리가 많았 기 때문에 많은 문제가있는 것 같습니다.
Patricio Sard

답변:


95

Peter가 말했듯이 그들은 Maven Central에 없을 것입니다.

Android SDK Manager에서 'Android Support Repository'를 다운로드하면 지원 라이브러리의 Maven 저장소가 Android SDK 디렉토리에 다운로드됩니다 ( 'extras'폴더 참조).

라이브러리를 로컬 .m2 저장소에 배포하려면 maven-android-sdk-deployer를 사용할 수 있습니다.

2017 년 편집 :

이제 Google 온라인 M2 저장소를 참조 할 수 있습니다.

repositories {
google()
jcenter()
}

12
"Android SDK Manager"에서 "Android Support Repository"를 다운로드하면 Android Studio 0.4.3 프로젝트에서 발생한이 문제를 확실히 해결할 수 있습니다. 그것은 Gradle을하여 사용되지 않음 메시지에 대해 조금 밖에 연민을 유지하지만 난 열 수 있도록이 또 다른 이야기이다 이 질문을
프랑코 Rondini

단계별로 설명해 주 maven-android-sdk-deployer시겠습니까? 첫 번째 다운로드를 의미 하고 두 번째로 무엇을 의미 합니까?
하면서 스토리지 Aqajani

@ H.Aqjn 좀 더 잘 읽을 수 있도록 대답을 재정렬했습니다. Gradle을 사용하는 경우 SDK Manager에서 지원 저장소를 다운로드하는 것이
좋습니다

50

Android Studio를 설치 한 곳 (아래에 있음 C:\Users\username\AppData\Local\Android\android-studio\)으로 이동하여을 연 sdk\tools다음 실행 android.bat합니다. 여기에서 누락 된 빌드 도구를 업데이트 및 다운로드하고 Extras에서 Android 지원 저장소 및 Android 지원 라이브러리를 업데이트했는지 확인하십시오. SDK Manager가 완료된 후 Android Studio를 다시 시작합니다.

Android Studio는 설치된 모든 Android SDK 파일을 완전히 무시하고 자체 사본을 유지하는 것 같습니다. 업데이트를 실행 한 후 모든 것이 컴파일을 사용하여 성공적으로 컴파일되었습니다.com.android.support:appcompat-v7:18.0.+


8
이것은 실제로 Android Studio가 내 컴퓨터에 수동으로 설치 한 Android SDK를 사용하는 데 도움이되었습니다. IDE에서 개발자가 정의한 SDK를 사용하는 대신 자체 Android SDK를 사용하는 것은 정말 성가신 일입니다. SDK는 IDE와 분리되어야합니다.
samael

13
Android Studio에 AppData 아래에 자체 SDK 버전이 있다는 생각이 없었습니다. 이것은 매우 혼란 스럽습니다!
pqvst

Extras / Android Support Library를 설치하고 SDK Manager를 다시 시작해야 Android Support Repository가 나타납니다.
Leos Literak 2014 년

이것은 나를 위해 "com.android.support:appcompat-v7:19.+"에 대한 오류를 제거했습니다.
Nick Westgate

우분투 시스템에서 여러 Android SDK 인스턴스를 발견했을 때도 비슷한 혼란이있었습니다. 따라서 AndroidStudio가 자체 인스턴스를 생성한다는 잘못된 의심이있었습니다. 현재 AS v.2.1.2를 실행하고 있으며 동일한 문제가 여전히 존재합니다. 팀이 조만간 고칠 계획인지 아니면 기능이라고 생각하는지 궁금합니다 :)
매진

27

헤드리스 CI에서 실행 중이고 명령 줄을 통해 Android SDK를 설치하는 경우 --filter인수에 m2repository 패키지를 포함해야합니다 .

android update sdk --no-ui --filter platform-tools,build-tools-19.0.1,android-19,extra-android-support,extra-android-m2repository,extra-google-m2repository

최신 정보

Android SDK Manager rev. 22.6.4 더 이상 작동하지 않습니다. 대신 이것을 시도하십시오.

android list sdk --all

사용 가능한 모든 SDK 패키지 목록이 표시됩니다. 위의 첫 번째 명령 ( 'Google Repository'및 누락 될 수있는 기타)에서 구성 요소의 숫자 값을 찾습니다.

숫자 값을 사용하여 패키지를 설치합니다.

android update sdk --no-ui --all --filter <num>

업데이트 # 2 (2017 년 9 월)

올해 초에 출시 된 "새로운"Android SDK 도구에서이 android명령은 이제 더 이상 사용되지 않으며 유사한 기능이 sdkmanager다음 이라는 새 도구로 이동되었습니다 .

설치된 구성 요소 나열 :

sdkmanager --list

설치된 구성 요소 업데이트 :

sdkmanager --update

새 구성 요소 (예 : 빌드 도구 버전 26.0.0)를 설치합니다 .

sdkmanager 'build-tools;26.0.0'

멋진 명령 줄에 감사드립니다! 불행히도 이제 (Android SDK Manager rev. 22.6.4 (GUI의 About에서)) 내가받는 응답은 Error: Ignoring unknown package filter 'platform-tools', also for 'android-19''extra-android-support'. 건배!
sdaau

미안은 "점점 SWT 폴더 '/ 옵션 / 안드로이드 SDK - 리눅스 / 도구 / lib 디렉토리 / 팔'이 (가) 없습니다
마리아 Klühspies

3
힌트 주셔서 감사합니다. 나는 실행했습니다 : android list sdk --all |grep -i repos, 그것은 나에게 "98-Android Support Repository, revision 6""106-Google Repository, revision 11". 그런 다음 android update sdk -u -a -t 98,106마침내 문제를 해결 한 두 패키지를 모두 설치했습니다 (adt-bundle-linux-x86-20140702.zip을 사용하고 있습니다. 어떤 SDK Manager 버전인지 모르겠습니다).
Mateusz Szulc 2014 년

1
Google Repository 설치의 필요성을 언급하여 여기에서 많은 생명을 구했습니다. 감사합니다.
yati sagade 2014

그래 내 것도 누락으로 인해-142- Android 지원 저장소, 개정 21150- Google 저장소, 개정 22
Bruce Lim


2
compileSdkVersion 17
targetSdkVersion 17

컴파일 버전을 18에서 17로 변경

compile "com.android.support:support-v4:17.0.+"
compile "com.android.support:appcompat-v7:17.0.+"

2

Kassim의 답변 외에도 :

Peter가 말했듯이 그들은 Maven Central에 없을 것입니다.

하나를 사용 받는다는 - 안드로이드-SDK-전개 하여 로컬 저장소에 라이브러리를 배포

또는 Android SDK Manager에서 Android 지원 저장소 (추가)를 다운로드하면 지원 라이브러리의 M2 저장소가 Android SDK 디렉토리로 다운로드됩니다.

또한 Android SDK Manager에서 "지원 라이브러리 용 로컬 Maven 저장소"를 업데이트해야했습니다.


1

@friederbluemle을 에코하기 위해 Android SDK 도구가 설치된 경우 명령 줄에서 SDK 관리자를 실행할 수도 있습니다.

$ android

그런 다음 팝업되는 UI에서 설치해야하는 도구 / 저장소를 선택합니다 (귀하의 경우 지원 라이브러리 저장소).


1

앱의 build.gradle 파일에 다음 문을 작성합니다.

com.android.support:appcompat-v7:18.0.+

그게 다야


1

방화벽을 해제하려고합니다 , it works for me. Android 스튜디오가 일부 종속성을 다운로드하려고하고 방화벽이 just be aware that turning your firewall off may lower the security of your computer. 시간이 더 많은 경우 Android 스튜디오가 방화벽을 우회하도록 수동으로 허용 할 수 있습니다. 이렇게하면 Android 스튜디오가 원하는 모든 것을 다운로드하도록 허용하면서 방화벽을 켤 수 있습니다.


1

Gradle Build 탭의 Android Studio 2.1.1에서이 메시지를 받았습니다. SDK 관리자에서 많은 파일을 설치했지만 도움이되지 않았습니다.

다음 탭 "Gradle Sync"를 클릭해야했습니다. "Android 지원 저장소"를 설치 한 "저장소 설치 및 프로젝트 동기화"링크가 있습니다.


1
  1. Android SDK 관리자 설치
  2. 건물 도구가 설치되어 있는지 확인하십시오. API 23을 설치하십시오.
  3. Android SDK Manager에서 'Android Support Repository'를 다운로드합니다.
  4. cordova-plugin-android-support-v4 제거
  5. 짓다

0

이것을 gradle에 추가하십시오.

allprojects {
    buildscript {
        repositories {
            maven {
                url "https://dl.bintray.com/android/android-tools"
            }
        }
    }
...
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.