programing

모두 안드로이드입니다.지원 라이브러리는 정확히 동일한 버전 사양을 사용해야 합니다.

bestprogram 2023. 6. 6. 10:26

모두 안드로이드입니다.지원 라이브러리는 정확히 동일한 버전 사양을 사용해야 합니다.

안드로이드 스튜디오 2.3으로 업데이트한 후 이 오류 메시지가 표시되었습니다.앱이 정상적으로 실행되면서 힌트일 뿐이라는 것을 알지만, 정말 이상합니다.

모두 안드로이드입니다.지원 라이브러리는 정확히 동일한 버전 사양을 사용해야 합니다. 지원 라이브러리는 런타임 충돌로 이어질 수 있습니다.버전 25.1.1, 24.0.0을 찾았습니다.예를 들어 com.android가 있습니다.지원:com-delay-delayable:25.1.1 및 com.delay.지원:mediaouter-v7:24.0.0

여기에 이미지 설명 입력

나의 그라들:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    testCompile 'junit:junit:4.12'

    compile 'com.android.support:appcompat-v7:25.1.1'
    compile 'com.android.support:support-v4:25.1.1'
    compile 'com.android.support:design:25.1.1'
    compile 'com.android.support:recyclerview-v7:25.1.1'
    compile 'com.android.support:cardview-v7:25.1.1'
    compile 'com.google.android.gms:play-services-maps:10.2.0'
    compile 'com.google.android.gms:play-services:10.2.0'

    compile 'io.reactivex.rxjava2:rxjava:2.0.1'
    compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
    compile 'com.jakewharton:butterknife:8.4.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
    compile 'com.blankj:utilcode:1.3.6'
    compile 'com.orhanobut:logger:1.15'
    compile 'com.facebook.stetho:stetho:1.4.2'

    provided 'com.google.auto.value:auto-value:1.2'
    annotationProcessor 'com.google.auto.value:auto-value:1.2'
    annotationProcessor 'com.ryanharter.auto.value:auto-value-parcel:0.2.5'

    compile 'com.mikepenz:iconics-core:2.8.2@aar'
    compile('com.mikepenz:materialdrawer:5.8.1@aar') { transitive = true }
    compile 'com.mikepenz:google-material-typeface:2.2.0.3.original@aar'
    compile 'me.zhanghai.android.materialprogressbar:library:1.3.0'
    compile 'com.github.GrenderG:Toasty:1.1.1'
    compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.8.0'
    compile 'com.github.MAXDeliveryNG:slideview:1.0.0'

    compile 'com.facebook.fresco:fresco:1.0.1'
    compile 'com.github.bumptech.glide:glide:3.7.0'

    compile 'com.google.maps.android:android-maps-utils:0.4.4'
    compile 'com.github.jd-alexander:library:1.1.0'
}

다음 솔루션 중 하나를 사용하여 이 문제를 해결할 수 있습니다.

업데이트:

Android studio 3.0의 경우, 이제 더 유용한 힌트를 보여주기 때문에 훨씬 쉬워졌습니다. 따라서 이 힌트만 따라가면 됩니다.
예:1]1

모두 안드로이드입니다.지원 라이브러리는 정확히 동일한 버전 사양을 사용해야 합니다. 지원 라이브러리는 런타임 충돌로 이어질 수 있습니다.버전 27.0.2, 26.1.0을 찾았습니다. 예를 들어 com.android가 있습니다.지원:vmx-vmx-drawable:27.0.2 및 com.vmx.지원:사용자 지정 탭:26.1.0

호환되지 않거나 버그로 이어질 수 있는 라이브러리 또는 도구와 라이브러리의 조합이 있습니다.이러한 비호환성 중 하나는 최신 버전이 아닌 Android 지원 라이브러리 버전(특히 대상 SdkVersion보다 낮은 버전)으로 컴파일하는 것입니다.

솔루션:
이전 버전이지만 새 버전 번호를 사용하여 라이브러리를 명시적으로 추가합니다.
나의 경우에는com.android.support:customtabs:26.1.0그래서 나는 덧붙여야 합니다:

(Kotlin 빌드 스크립트)

implementation("com.android.support:customtabs:27.0.2")

(그루비 빌드 스크립트)

implementation "com.android.support:customtabs:27.0.2"  

i: 두 번째 항목에서 라이브러리를 가져와 첫 번째 항목의 버전 번호로 구현합니다.

참고: Gradle이 종속성 그래프를 재구성하고 더 이상 충돌이 없는지 확인할 수 있도록 지금 동기화를 누르는 것을 잊지 마십시오.

설명:
사용하지 않기 때문에 오류 메시지로 인해 혼란스러울 수 있습니다.customtabs그래서 나는 어떻게 갈등이 있는지!!
중 의 닷컴을 합니다. 당신은 그것을 직접 사용하지 않았지만 당신의 도서관 중 하나는 오래된 버전을 사용합니다.customtabs내부적으로, 그래서 당신은 그것을 직접 요청해야 합니다.

이전 버전에 대해 어떤 라이브러리가 책임이 있는지 궁금하고 작성자에게 lib 업데이트를 요청할 수도 있습니다. Run a Gradle dependency report. 방법을 알고 싶다면 이전 답변을 참조하십시오.

참고:


업데이트:

버전 : 3 그래플버준compile 로대었니다로 대체되었습니다.implementation또는api차이는 이 답변을 참조하십시오.

따라서 Mac, Linux 및 PowerShell에 대신 사용합니다.

./gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath

또는 윈도우즈 cmd의 경우:

gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath

충돌하는 버전을 검색합니다.

저는 제거 후 오류가 사라졌습니다.com.google.android.gms:play-services:10.2.0

그리고 다음만 포함합니다.com.google.android.gms:play-services-location:10.2.0그리고.com.google.android.gms:play-services-maps:10.2.0제가 사용하는 유일한 플레이 서비스이기 때문입니다.

제 생각엔gms:play-services지원 라이브러리의 일부 오래된 구성 요소에 의존하므로 우리가 직접 추가해야 합니다.


AS 3.0 이전 버전의 경우.

실행:

./gradlew -q dependencies <module-name>:dependencies --configuration implementation

예:

./gradlew -q dependencies app:dependencies --configuration implementation

이전 답변:

CommonsWare에서 영감을 받아 다음과 같이 답변합니다.

Gradle 종속성 보고서를 실행하여 전체 종속성 트리가 무엇인지 확인합니다.

여기에서 다른 버전의 Android 지원 라이브러리를 요청하는 라이브러리를 볼 수 있습니다.요청하는 버전이 무엇이든 간에 25.2.0 버전으로 직접 요청하거나 Gradle의 다른 충돌 해결 방법을 사용하여 동일한 버전을 얻을 수 있습니다.


새로운 그래들 플러그인에서 더 나은 방법을 아는 사람이 있다면 알려주시기 바랍니다.

  1. 에 가다project/.idea/libraries파일 시스템에 있는 폴더와 다른 라이브러리를 확인합니다.
  2. 버전의 라이브러리를 사용자의 .build.gradlejava.
  3. 그런 다음 프로젝트를 동기화합니다.

예:

compile 'com.android.support:appcompat-v7:25.2.0'

// Wrong library version found on 1st point
compile 'com.android.support:customtabs:25.2.0'

다음 버전이나 라이브러리뿐만 아니라 모든 경우에 대해:

오류에 대해 설명하는 작은 정보 창에 주의하십시오. 이 창에는 변경하고 추가해야 하는 예가 나와 있습니다.

이 경우:

버전 25.1.1, 24.0.0을 찾았습니다.예를 들어 com.android가 있습니다.지원:com-delay-delayable:25.1.1 및 com.delay.지원:mediaouter-v7:24.0.0

당신의.

전령의지지:대략-대략-도면 가능:25.1.1

버전 25.1.1이며,

전령의지원:mediaouter-v7:24.0.0

버전 24.0.0이므로 다음과 같은 버전의 미디어 라우터를 추가해야 합니다.

com.android.support:mediarouter-v7:25.1.1

그리고 작은 정보 창에 표시된 모든 예에 대해 이 작업을 수행합니다. 이 경우 버전 25.1.1이 없는 모든 라이브러리를 수행합니다.

표시된 라이브러리를 수정한 후 그라들을 동기화해야 변경할 다음 라이브러리와 패키지를 볼 수 있습니다.

중요:하나 이상의 지정된 라이브러리를 명시적으로 사용하지 않고 오류가 발생하는 경우 다른 라이브러리에서 내부적으로 사용 중임을 의미합니다.

또한 다른 방법을 사용하여 실제 컴파일 중인 모든 라이브러리의 버전 차이를 확인할 수 있습니다(예: Gradle 종속성 보고서 실행 또는 라이브러리 파일로 이동). 실제 목표는 동일한 버전으로 사용 중인 모든 라이브러리를 컴파일하는 것입니다.

문제를 해결하는 가장 좋은 방법은 모든 'com.android'를 구현하는 것입니다.지원: .Android Studio에서 제안하는

(사용 중인 지원 버전(27.1.1, 28.0.0 등)은 상관 없음)

커서를 오류선에 놓습니다.

implementation 'com.android.support:appcompat-v7:28.0.0'

Android Studio는 어떤 'com.android'를 제안할 것입니다.지원: .버전이 'com.dll'과(와) 다릅니다.지원:appcompat-v7:28.0.0'

모두 안드로이드입니다.지원 라이브러리는 정확히 동일한 버전 사양을 사용해야 합니다. 지원 라이브러리는 런타임 충돌로 이어질 수 있습니다.버전 28.0.0, 27.1.0, 27.0.2를 찾았습니다.예를 들어 com.android가 있습니다.지원:vmx-vmx-drawable:28.0.0 및 com.vmx.지원:exif 인터페이스:27.1.0

그래서 추가com.android.support:animated-vector-drawable:28.0.0&com.android.support:exifinterface:28.0.0이제 그라들 파일을 동기화합니다.

지원에 까지 'com.'과 'support(가) 있습니다..' 이 줄에 오류가 없을 때까지implementation 'com.android.support:appcompat-v7:28.0.0'

제 경우에, 저는 덧붙였습니다.

implementation 'com.android.support:appcompat-v7:28.0.0'

implementation 'com.android.support:animated-vector-drawable:28.0.0'
implementation 'com.android.support:exifinterface:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:customtabs:28.0.0'
implementation 'com.android.support:support-media-compat:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'

이 모든 의존성은 당신에게 다를 수 있습니다.

build.gradle의 맨 끝에 추가합니다(모듈:app).

configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    def requested = details.requested
    if (requested.group == 'com.android.support') {
        if (!requested.name.startsWith("multidex")) {
            details.useVersion '25.3.1'
        }
     }

   }
}

'25.3.1'을 모든 종속성에 사용할 안드로이드 지원 라이브러리 버전으로 바꾸십시오. 이 버전은 compile sdk 버전보다 낮아서는 안 됩니다.

싱크로 그라들보다

Android Studio 2.3으로 업데이트한 후에도 동일한 문제가 발생했습니다.

종속성에 이 행을 추가하면 문제가 해결되었습니다.

compile 'com.android.support:customtabs:25.2.0'

»gradle dependencies또는./gradlew dependencies

트리를 보고 제어하지 않는 종속성에 대해 다른 지원 라이브러리 버전을 지정하는 종속성을 확인합니다.

종속성이 사용자 자신의 코드에서 직접 사용되지 않는 경우에도 이 경고가 표시되는지 몰랐습니다.제 경우, Facebook은 제가 사용하지 않는 일부 지원 리브를 지정합니다. 아래에서 대부분의 종속성이 -> X.X.X(*) 기호로 표시된 제 사양 25.2.0에 의해 재정의되었음을 알 수 있습니다.카드 보기와 사용자 지정 탭 립은 아무도 무시하지 않았기 때문에 제가 사용하지 않더라도 25.2.0을 직접 요청해야 합니다.

+--- com.facebook.android:facebook-android-sdk:4.17.0
|    +--- com.android.support:support-v4:25.0.0 -> 25.2.0 (*)
|    +--- com.android.support:appcompat-v7:25.0.0 -> 25.2.0 (*)
|    +--- com.android.support:cardview-v7:25.0.0
|    |    \--- com.android.support:support-annotations:25.0.0 -> 25.2.0
|    +--- com.android.support:customtabs:25.0.0
|    |    +--- com.android.support:support-compat:25.0.0 -> 25.2.0 (*)
|    |    \--- com.android.support:support-annotations:25.0.0 -> 25.2.0
|    \--- com.parse.bolts:bolts-android:1.4.0 (*)

그래들이 이미 경고하고 예를 들었다면...

예를 들어 com.android가 있습니다.지원:com-delay-delayable:25.1.1 및 com.delay.지원:mediaouter-v7:24.0.0

이후로 낮은 버전에 대한 grep 강조 표시를 넣으면 훨씬 쉽습니다.gradle dependencies상당히 장황할 수 있습니다.

./gradlew dependencies | grep --color -E 'com.android.support:mediarouter-v7|$'

변수 사용:다음과 같은 작업을 수행하면 모든 라이브러리에서 동일한 버전을 더 쉽게 사용할 수 있습니다.

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}"

Google에서 이 버전 관리를 제안하는 방법에 대한 자세한 내용은 https://developer.android.com/studio/build/index.html#top-level 에서 확인할 수 있습니다.

다음을 추가합니다.

compile 'com.android.support:mediarouter-v7:25.2.0'

Updated SDK SDK 파일입니다.

compile 'com.android.support:mediarouter-v7:28.0.0-alpha3'

위의 모든 답변과 코멘트를 보셨겠지만, 이 답변은 새로운 개발자가 쉽게 얻을 수 없는 것을 삭제하는 것입니다.

./gradlew -q 종속성 앱: 종속성 --구성 컴파일

위의 선은 의심할 여지 없이 당신의 생명을 구할 것이고, 위의 선의 결과로부터 정확한 지점을 얻는 방법입니다.

위 명령에서 모든 종속성 차트 또는 목록을 가져오면 코드에서 얻을 수 있는 충돌하는 버전 번호를 검색해야 합니다.아래 이미지를 참조하십시오.

여기에 이미지 설명 입력

위의 이미지에서 23.4.0이 문제를 일으키고 있음을 알 수 있지만 이는 우리의 gradle 파일에서 찾을 수 없습니다.이제 이 버전 번호(23.4.0)가 저장됩니다.이 번호가 있으면 위의 명령 결과에서 이 번호를 찾고 해당 종속성을 우리의 Gradle 파일로 직접 가져올 것입니다.아래 이미지를 참조하여 선명한 이미지를 확인하십시오.

당신은 그 com.dll을 분명히 볼 수 있습니다.지원:cardview-v7:23.4.0com.sys.지원:customtabs:23.4.0에서 문제를 일으키는 버전을 사용하고 있습니다.이제 종속성 목록에서 해당 줄을 복사하고 업데이트된 버전 링크를 사용하여 Gradle 파일에서 명시적으로 사용합니다.

구현 "com.dll".지원: cardview-v7:26.1.0" 구현 "com.dll".지원:사용자 지정 탭:26.1.0"

appcompat

implementation 'com.android.support:appcompat-v7:27.0.1'

그런 그음에추가를 합니다.design해결했습니다.

implementation 'com.android.support:appcompat-v7:27.0.1'
implementation 'com.android.support:design:27.0.1'

나를 위해, 추가.

implementation 'de.mrmaffen:vlc-android-sdk:2.0.6'

포함하고 있었습니다.appcompat-v7:23.1.1

.sl/slots

없이vlc,appcompat혼자면 충분합니다.

충돌을 해결하는 또 다른 방법은 다음과 같은 모든 종속성에 대해 올바른 버전을 적용하는 것입니다.

dependencies {
            configurations.all {
                resolutionStrategy.eachDependency { DependencyResolveDetails details ->
                    if (details.requested.group == 'com.android.support' && details.requested.name == 'support-v4') {
                        details.useVersion "27.0.2"
                    }
                }
    ...
    }

https://docs.gradle.org/current/userguide/customizing_dependency_resolution_behavior.html

support-v4 대신 support-v13 사용

compile 'com.android.support:support-v13:25.2.0'

애플리케이션 수준 종속성에 이러한 항목

implementation 'com.android.support:asynclayoutinflater:28.0.0'
implementation 'com.android.support:exifinterface:28.0.0'
implementation 'com.android.support:animated-vector-drawable:28.0.0'
implementation 'com.android.support:support-media-compat:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'

나의 문제는 당신의 문제와 비슷합니다.여기에 오류가 있습니다!

compile 'com.android.support:appcompat-v7:25.3.0'

모두 안드로이드입니다.지원 라이브러리는 정확히 동일한 버전 사양을 사용해야 합니다. 지원 라이브러리는 런타임 충돌로 이어질 수 있습니다.버전 25.3.0, 24.0.0을 찾았습니다.예를 들어 'com.android'가 있습니다.지원:vmdk-dk-drawable:25.3.0' 및 'com.dk'.지원:mediaouter-v7:24.0.0'

이 예를 보면 'com.android'가 있습니다.지원:vmdk-dk-drawable:25.3.0' 및 'com.dk'.지원:mediaouter-v7:24.0.0'

이 코드들을 종속성에 추가하기만 하면 됩니다. 버전이 동일한지 확인하십시오.

compile 'com.android.support:animated-vector-drawable:25.3.0'
compile 'com.android.support:mediarouter-v7:25.3.0'

추가 후 동일한 오류가 발생했습니다.compile 'com.google.android.gms:play-services:10.2.4''com.android.support:appcompat-v7:25.3.1'.

추가하기animated-vector-drawable그리고.mediarouter libs문제를 해결했습니다.

compile 'com.google.android.gms:play-services:10.2.4'
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:animated-vector-drawable:25.3.1'
compile 'com.android.support:mediarouter-v7:25.3.1'

나는 이것을 가지고 있었습니다.

dependencies {
   implementation fileTree(dir: 'libs', include: ['*.jar'])
   implementation 'com.android.support:appcompat-v7:27.1.1'
   implementation 'com.android.support:design:27.1.1'
   implementation 'com.android.support:support-v4:27.1.1'
   implementation 'com.google.firebase:firebase-auth:12.0.1'
   implementation 'com.google.firebase:firebase-firestore:12.0.1'
   implementation 'com.google.firebase:firebase-messaging:12.0.1'
   implementation 'com.google.android.gms:play-services-auth:12.0.1'
   implementation'com.facebook.android:facebook-login:[4,5)'
   implementation 'com.twitter.sdk.android:twitter:3.1.1'
   implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
   implementation 'org.jetbrains:annotations-java5:15.0'
   implementation project(':vehiclesapi')
   testImplementation 'junit:junit:4.12'
   androidTestImplementation 'com.android.support.test:runner:1.0.1'
   androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}

다음 오류가 발생했습니다.

해결책은 쉬웠습니다. 기본 종속성이 모두 정확했기 때문에 나뭇잎은 제3자 종속성입니다.범인을 찾을 때까지 하나씩 제거했고, 페이스북으로 밝혀졌습니다!27.0.2 버전의 안드로이드 지원 라이브러리를 사용합니다.저는 카드뷰 버전 27.1.1을 추가하려고 했지만, 그것도 작동하지 않았고 해결책도 여전히 충분히 간단했습니다.

dependencies {
   implementation fileTree(dir: 'libs', include: ['*.jar'])
   implementation 'com.android.support:appcompat-v7:27.1.1'
   implementation 'com.android.support:design:27.1.1'
   implementation 'com.android.support:support-v4:27.1.1'
   implementation 'com.google.firebase:firebase-auth:12.0.1'
   implementation 'com.google.firebase:firebase-firestore:12.0.1'
   implementation 'com.google.firebase:firebase-messaging:12.0.1'
   implementation 'com.google.android.gms:play-services-auth:12.0.1'
   implementation('com.facebook.android:facebook-login:[4,5)'){
       // contains com.android.support:v7:27.0.2, included required com.android.support.*:27.1.1 modules
    exclude group: 'com.android.support'
   }
   implementation 'com.android.support:cardview-v7:27.1.1' // to replace facebook sdk's cardview-v7:27.0.2.
   implementation 'com.twitter.sdk.android:twitter:3.1.1'
   implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
   implementation 'org.jetbrains:annotations-java5:15.0'
   implementation project(':vehiclesapi')
   testImplementation 'junit:junit:4.12'
   androidTestImplementation 'com.android.support.test:runner:1.0.1'
   androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}

안드로이드 스튜디오 2.3으로 업그레이드한 후 문제를 해결하기 위해 이 두 가지를 사용했습니다.

compile 'com.android.support:animated-vector-drawable:25.0.0'
compile 'com.android.support:mediarouter-v7:25.0.0'

저도 예전에 같은 문제가 있었는데 그에 대한 해결책을 얻었습니다.

다른 버전이 있지만 동일한 버전의 라이브러리를 추가했습니다.support:appcompat.

예를 들어, 다음과 같은 오류에 대해 설명합니다.

모두 안드로이드입니다.지원 라이브러리는 정확히 동일한 버전 사양을 사용해야 합니다. 지원 라이브러리는 런타임 충돌로 이어질 수 있습니다.버전 25.1.1, 24.0.0을 찾았습니다.예를 들어 com.android가 있습니다.지원:com-delay-delayable:25.1.1 및 com.delay.지원:mediaouter-v7:24.0.0

*솔루션은 다음과 같이 라이브러리의 버전을 컴파일하는 것입니다.

compile 'com.android.support:mediarouter-v7:25.1.1'

-다른 라이브러리에 동일한 문제가 있고 다른 버전이 있다면 당신의 라이브러리로 컴파일하기만 하면 됩니다.support:appcompat »

이것으로 나의 문제가 해결되었고 나는 당신의 문제가 해결되기를 바랍니다.

행운을 빕니다 :)

검색하고 답변을 결합한 후, 2018년 버전의 이 질문과 답변은 저에게 효과가 있었습니다.

탐색 탭에서 프로젝트 뷰로 변경

[YourProjectName]/.idea/라이브러리/로 이동합니다.

Gradle__com_android_support_[라이브러리 이름]으로 시작하는 모든 파일 삭제

예: Gradle__com_android_support_animated_vector_drawable_26_0_0.xml

Gradle 파일에서 변수를 정의하고 ${variableName}과(와) 같은 버전 번호를 바꾸는 데 사용합니다.

정의 변수:

ext {
    support_library_version = '28.0.0' //use the version of choice
}

사용 변수:

implementation "com.android.support:cardview-v7:${support_library_version}"

예:

dependencies {
    ext {
        support_library_version = '28.0.0' //use the version of choice
    }

    implementation fileTree(include: ['*.jar'], dir: 'libs')

    implementation "com.android.support:animated-vector-drawable:${support_library_version}"
    implementation "com.android.support:appcompat-v7:${support_library_version}"
    implementation "com.android.support:customtabs:${support_library_version}"
    implementation "com.android.support:cardview-v7:${support_library_version}"
    implementation "com.android.support:support-compat:${support_library_version}"
    implementation "com.android.support:support-v4:${support_library_version}"
    implementation "com.android.support:support-core-utils:${support_library_version}"
    implementation "com.android.support:support-core-ui:${support_library_version}"
    implementation "com.android.support:support-fragment:${support_library_version}"
    implementation "com.android.support:support-media-compat:${support_library_version}"
    implementation "com.android.support:appcompat-v7:${support_library_version}"
    implementation "com.android.support:recyclerview-v7:${support_library_version}"
    implementation "com.android.support:design:${support_library_version}"

}

새로운 버전의 안드로이드 스튜디오 3.x로 매우 간단합니다.

현재 버전보다 작은 버전을 복사하고 현재 버전과 동일한 버전 번호로 명시적으로 추가하기만 하면 됩니다.

버전 27.1.1, 27.1.0을 찾았습니다. 예를 들어 com.android가 있습니다.지원:com-delay-delayable:27.1.1 및 com.delay.지원:exif 인터페이스:27.1.0

버전을 복사하기만 하면 됩니다.com.android.support:exifinterface:27.1.0로 변경합니다.com.android.support:exifinterface:27.1.1사용 중인 현재 버전과 동일하게 설정하고 다음과 같이 Gradle 종속성에 추가합니다.

implementation 'com.android.support:exifinterface:27.1.1'

참고: 작업을 마치면 편집기 맨 위에 있는 지금 동기화를 클릭하는 것을 잊지 마십시오.

저는 안드로이드 스튜디오 3.4와 sdk 버전을 28.0.0으로 업그레이드한 후 이 문제에 직면했습니다.아래의 의존성을 적용하여 저는 문제를 해결했습니다.

    implementation 'com.android.support:exifinterface:28.0.0'

2018년 이 오류에 대한 업데이트에서 프로젝트 구조에서 구현 추가

implementation 'com.android.support:support-v13:28.0.0'

프로젝트 모드에서 --> 외부 라이브러리에서 문제를 찾을 수 있습니다. 제 경우 버전 28과 외부 라이브러리를 사용하고 있습니다.com.android.support:support-media-compat-26.0.0그리고 여기 오류가 있었습니다.

후에support v13 효과가

버전으로 컴파일할 다른 종속성을 정의했습니다.24.0.025.1.1을 모든종 다같음설이정십오시하과전과 하십시오.25.1.1.

오류를 제거하기 위해 다음 행을 Gradle에 추가해야 했습니다.

compile 'com.android.support:animated-vector-drawable:25.2.0'
compile 'com.android.support:preference-v7:25.2.0'
compile 'com.android.support:customtabs:25.2.0'
compile 'com.android.support:cardview-v7:25.2.0'

./gradlew 태스크를 실행하여 대상 버전(25.3.1)과 다른 버전의 종속성을 확인했습니다.다음과 같은 것을 얻을 수 있습니다.

app:prepareComAndroidSupportAnimatedVectorDrawable2531Library - Prepare com.android.support:animated-vector-drawable:25.3.1
app:prepareComAndroidSupportAppcompatV72531Library - Prepare com.android.support:appcompat-v7:25.3.1
app:prepareComAndroidSupportCardviewV72531Library - Prepare com.android.support:cardview-v7:25.3.1
app:prepareComAndroidSupportCustomtabs2531Library - Prepare com.android.support:customtabs:25.3.1
app:prepareComAndroidSupportDesign2531Library - Prepare com.android.support:design:25.3.1
app:prepareComAndroidSupportMediarouterV72531Library - Prepare com.android.support:mediarouter-v7:25.3.1
app:prepareComAndroidSupportPaletteV72531Library - Prepare com.android.support:palette-v7:25.3.1
app:prepareComAndroidSupportRecyclerviewV72531Library - Prepare com.android.support:recyclerview-v7:25.3.1
app:prepareComAndroidSupportSupportCompat2531Library - Prepare com.android.support:support-compat:25.3.1
app:prepareComAndroidSupportSupportCoreUi2531Library - Prepare com.android.support:support-core-ui:25.3.1
app:prepareComAndroidSupportSupportCoreUtils2531Library - Prepare com.android.support:support-core-utils:25.3.1
app:prepareComAndroidSupportSupportFragment2531Library - Prepare com.android.support:support-fragment:25.3.1
app:prepareComAndroidSupportSupportMediaCompat2531Library - Prepare com.android.support:support-media-compat:25.3.1
app:prepareComAndroidSupportSupportV42531Library - Prepare com.android.support:support-v4:25.3.1
app:prepareComAndroidSupportSupportVectorDrawable2531Library - Prepare com.android.support:support-vector-drawable:25.3.1
app:prepareComAndroidSupportTransition2531Library - Prepare com.android.support:transition:25.3.1
app:prepareComAndroidVolleyVolley100Library - Prepare com.android.volley:volley:1.0.0
app:prepareComCrashlyticsSdkAndroidAnswers1312Library - Prepare com.crashlytics.sdk.android:answers:1.3.12
app:prepareComCrashlyticsSdkAndroidBeta124Library - Prepare com.crashlytics.sdk.android:beta:1.2.4
app:prepareComCrashlyticsSdkAndroidCrashlytics267Library - Prepare com.crashlytics.sdk.android:crashlytics:2.6.7
app:prepareComCrashlyticsSdkAndroidCrashlyticsCore2316Library - Prepare com.crashlytics.sdk.android:crashlytics-core:2.3.16
app:prepareComFacebookAndroidFacebookAndroidSdk4161Library - Prepare com.facebook.android:facebook-android-sdk:4.16.1
app:prepareComGoogleAndroidGmsPlayServicesAnalytics1026Library - Prepare com.google.android.gms:play-services-analytics:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesAnalyticsImpl1026Library - Prepare com.google.android.gms:play-services-analytics-impl:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesAuth1026Library - Prepare com.google.android.gms:play-services-auth:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesAuthBase1026Library - Prepare com.google.android.gms:play-services-auth-base:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesBase1026Library - Prepare com.google.android.gms:play-services-base:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesBasement1026Library - Prepare com.google.android.gms:play-services-basement:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesCast1026Library - Prepare com.google.android.gms:play-services-cast:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesLocation1026Library - Prepare com.google.android.gms:play-services-location:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesMaps1026Library - Prepare com.google.android.gms:play-services-maps:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesTagmanagerV4Impl1026Library - Prepare com.google.android.gms:play-services-tagmanager-v4-impl:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesTasks1026Library - Prepare com.google.android.gms:play-services-tasks:10.2.6
app:prepareComGoogleFirebaseFirebaseAnalytics1026Library - Prepare com.google.firebase:firebase-analytics:10.2.6
app:prepareComGoogleFirebaseFirebaseAnalyticsImpl1026Library - Prepare com.google.firebase:firebase-analytics-impl:10.2.6
app:prepareComGoogleFirebaseFirebaseAppindexing1024Library - Prepare com.google.firebase:firebase-appindexing:10.2.4
app:prepareComGoogleFirebaseFirebaseCommon1026Library - Prepare com.google.firebase:firebase-common:10.2.6
app:prepareComGoogleFirebaseFirebaseCore1026Library - Prepare com.google.firebase:firebase-core:10.2.6
app:prepareComGoogleFirebaseFirebaseIid1026Library - Prepare com.google.firebase:firebase-iid:10.2.6
app:prepareComGoogleFirebaseFirebaseMessaging1026Library - Prepare com.google.firebase:firebase-messaging:10.2.6
app:prepareComMindorksPlaceholderview027Library - Prepare com.mindorks:placeholderview:0.2.7
app:prepareDebugAndroidTestDependencies
app:prepareDebugDependencies
app:prepareDebugUnitTestDependencies
app:prepareInfoHoang8fAndroidSegmented105Library - Prepare info.hoang8f:android-segmented:1.0.5
app:prepareIoFabricSdkAndroidFabric1316Library - Prepare io.fabric.sdk.android:fabric:1.3.16
app:prepareNoNordicsemiAndroidLog211Library - Prepare no.nordicsemi.android:log:2.1.1
app:prepareNoNordicsemiAndroidSupportV18Scanner100Library - Prepare no.nordicsemi.android.support.v18:scanner:1.0.0

이 경우에는 25.3.1을 대상으로 하고 있었고 이 명령을 실행할 때 다른 버전을 대상으로 하는 종속성이 있었습니다.이 방법은 이 목록에서 이전 버전을 대상으로 하는 종속성을 식별하고 Gradle에서 종속성의 최신 버전을 가져와 종속성을 재정의하는 것입니다.

나도 같은 문제가 있지만 이 세 줄을 추가하여 해결했습니다.

implementation 'com.android.support:design:27.1.1'
implementation "com.android.support:customtabs:27.1.1"
implementation 'com.android.support:mediarouter-v7:27.1.1'

이제 모든 것이 완벽하게 작동합니다.

다음은 이 경고를 수정하기 위한 내 흐름입니다.

빌드.그래들

android {
    compileSdkVersion ... // must same version (ex: 26)
    ...
}

dependencies {
    ...
    compile 'any com.android.support... library'  // must same version (ex: 26.0.1)
    compile 'any com.android.support... library'  // must same version (ex: 26.0.1)

    ...
    compile ('a library B which don't use 'com.android.support...' OR use SAME version of 'com.android.support'){
         // do nothing 
    }

    ...
    compile ('a library C which use DIFFERENT 'com.android.support...' (ex:27.0.1) { 
        // By default, if use don't do anything here your app will choose the higher com.android.support... for whole project (in this case it is 27.0.1)

        // If you want to use 26.0.1 use
        exclude group: 'com.android.support', module: '...' (ex module: 'appcompat-v7') 
        exclude group: 'com.android.support', module: 'another module'
        ...

        // If you want to use 27.0.1 do 
        Upgrade `compileSdkVersion` and all 'com.android.support' to 27.0.1.
        (It may be a good solution because the best practice is always use latest `compileSdkVersion`.  
        However, use 26 or 27 is base on you for example higher library may have bug)
    }
}

보기/확인하기dependencies의 모든 중에서.
./gradlew app:dependencies

보기dependencies앱의 특정 라이브러리의 다음 튜토리얼: - Gradle의 특정 종속성을 제외하는 방법

도움이 되길 바랍니다.

프로젝트의 외부 라이브러리를 열면 해당 라이브러리를 언급하지 않았음에도 불구하고 일부 라이브러리가 여전히 이전 버전을 사용하고 있음을 알 수 있으므로 문제를 해결할 특정 라이브러리 버전을 사용하는 것이 좋습니다.

안드로이드 지원 저장소를 (개정판: 44.0.0)으로 업데이트한 다음 안드로이드 SDK 도구와 에뮬레이터를 최신 버전 25.3.1로 업데이트하면 SDK 도구> SDK 도구에서 문제가 해결되었습니다.

언급URL : https://stackoverflow.com/questions/42374151/all-com-android-support-libraries-must-use-the-exact-same-version-specification