[android] Gradle Build Android 프로젝트 ‘모든 종속성을 해결할 수 없음’오류

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



답변

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

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

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

2017 년 편집 :

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

repositories {
google()
jcenter()
}


답변

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.+


답변

헤드리스 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'


답변

이러한 종속성은 Maven Central에 없습니다 ( this 참조 ).


답변

compileSdkVersion 17
targetSdkVersion 17

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

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


답변

Kassim의 답변 외에도 :

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

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

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

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


답변

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

$ android

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