마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Android Studio / gradle dependencies 설정에서 appcompat-v7 오류

0 추천

안녕하세요 안드로이드스투디오 새 버전과 SDK를 받아 기존 소스를 열었는데 build.gradle에 빨간줄이 생기네요.

compile 'com.android.support:appcompat-v7:25.+'
compile 'com.android.support:support-v4:25.+'
compile 'com.android.support:recyclerview-v7:25.+'
compile 'com.android.support:cardview-v7:25.+'

이러한 4가지 모두 오류가 나서 마지막 버전을 22->25로 올려줬더니 아래 세개는 오류가 나지 않습니다.첫번째 줄의 appcompat-v7만 아래 오류를 밷네요.

All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 25.3.1, 24.2.1, 22.2.0. Examples include `com.android.support:cardview-v7:25.3.1` and `com.android.support:animated-vector-drawable:24.2.1`. This support library should not use a different version (24) than the `compileSdkVersion` (25). 

 

세팅은 아래와 같습니다.

compileSdkVersion 25
buildToolsVersion '25.0.0'
    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 25
        versionCode 17

 

버전을 정확하게 맞춰야 된다는데 설치된 버전은 7.1(25) 인데 

 appcompat-v7은 24.2.0 까지만 있는것 같기도 하고 숫자 바꾸고 해도 도무지 없어지질 않네요

 

이건 번외인데 추가로 검색하다보면 ./gradlew 어쩌구 하면서 외부에서 사용하는 패키지 버전을 확인하라는스투디오에서 이걸 대체 어디다 쳐야 하나요 'Execute gradle task' 여기인지.. 여기 치니 업데이트하라고 난리고 음..조언 부탁드립니다.

 

더듬이 (340 포인트) 님이 2017년 5월 10일 질문

1개의 답변

0 추천

https://developer.android.com/topic/libraries/support-library/features.html?hl=ko

v7은 com.android.support:appcompat-v7:24.2.0 가 최신이네요 

빌드툴버전을 24.2.0 으로 맞추세요

참고:http://stackoverflow.com/questions/42374151/all-com-android-support-libraries-must-use-the-exact-same-version-specification

dependencies {

    ext {
        support_library_version = '25.2.0'
        google_play_services_version = '10.2.0'
    }

    //#####################################################################
    //          Support Library
    //#####################################################################
    compile "com.android.support:appcompat-v7:${support_library_version}"
    compile "com.android.support:palette-v7:${support_library_version}"
    compile "com.android.support:design:${support_library_version}"

    //#####################################################################
    //          Google Play Services
    //#####################################################################
    compile "com.google.android.gms:play-services-auth:${google_play_services_version}"
    compile "com.google.android.gms:play-services-ads:${google_play_services_version}"
    compile "com.google.android.gms:play-services-analytics:${google_play_services_version}"

    //#####################################################################
    //          Firebase
    //#####################################################################
    compile "com.google.firebase:firebase-core:${google_play_services_version}"
    compile "com.google.firebase:firebase-auth:${google_play_services_version}"
    compile "com.google.firebase:firebase-messaging:${google_play_services_version}"

 

익명사용자 님이 2017년 5월 11일 답변
빌드툴 24받아서 낮춰보니 또 싱크문제가 발생해서 이것저것 해보고 있는데
영문 사이트 보면 24가 최대 버전이 아니에요
https://developer.android.com/topic/libraries/support-library/packages.html
25.3.1까지 되네요
그래서 다시 보니저것만 문제가 아니라 어떤 dependencies든 위로 올리면 첫줄만 빨간줄이 생기네요
compile 'com.android.support:recyclerview-v7:25.+'
compile 'com.android.support:support-v4:25.+'
compile 'com.android.support:appcompat-v7:25.+'
compile 'com.android.support:cardview-v7:25.+'
순서를 이렇게 바꿨더니 이번에는 위에 support:recyclerview에서 빨간줄이 생깁니다.
에러메시지는
All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 25.3.1, 22.2.0. Examples include `com.android.support:animated-vector-drawable:25.3.1` and `com.android.support:mediarouter-v7:22.2.0`
이렇게 되는데 밑에 뜨는것들 추가해봐도 맨 윗줄은 안 없어지네요.
스택오버플로우 봐도 에러에 뜨는것들 추가하거나 하는데 해당 방법으로는 해결이 안 됩니다.


http://stackoverflow.com/questions/42581963/all-com-android-support-libraries-must-use-the-exact-same-version
이문제랑 비슷한것 같아요.

alt+enter 눌러서 avoid using inspection하니 그냥 빨간줄만 없어졌는데 문제있겟죠?
빌드툴과 서포트의 버전을 맞추어야 합니다.
위의 예시처럼 compile 버전을 맞추세요
빌드툴을 낮추면 에러가 나서 안 되네요
일단 compile 'com.google.android.gms:play-services:8.3.0' 통째로 컴파일하던거
필요한 play-services만 쪼개서 올리는 식으로 했더니 에러는 안 나게 했는데 시원하게 파악되지가 않아서 답답하네요
http://stackoverflow.com/questions/41890659/errorthe-sdk-build-tools-revision-23-0-3-is-too-low-for-project-app-minim
최근 그래들 플러그인 업데이트 할경우 프로젝트 최상단 버전과 맞지 않아서 빌드툴을 못내리는 경우가 있네요.
해당부분의 버전을 낮추시면 됩니다
...