Tất cả các thư viện com.android.support phải sử dụng cùng một đặc điểm phiên bản chính xác

792
humazed 2017-02-22 07:35.

Sau khi cập nhật lên android studio 2.3, tôi nhận được thông báo lỗi này. Tôi biết đó chỉ là một gợi ý vì ứng dụng chạy bình thường nhưng nó thực sự kỳ lạ.

Tất cả các thư viện com.android.support phải sử dụng cùng một đặc tả phiên bản chính xác (các phiên bản trộn có thể dẫn đến sự cố thời gian chạy). Đã tìm thấy các phiên bản 25.1.1, 24.0.0. Ví dụ bao gồm com.android.support:animated-vector-drawable:25.1.1 và com.android.support:mediarouter-v7:24.0.0

Gradle của tôi:

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:[email protected]'
    compile('com.mikepenz:materialdrawer:[email protected]') { transitive = true }
    compile 'com.mikepenz:google-material-typeface:[email protected]'
    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'
}

30 answers

909
humazed 2017-02-22 07:49.

Bạn có thể giải quyết vấn đề này bằng một trong các giải pháp sau:

Cập nhật:

Đối với Android studio 3.0, việc này trở nên dễ dàng hơn nhiều vì nó hiện đã hiển thị một gợi ý hữu ích hơn, vì vậy chúng ta chỉ cần làm theo gợi ý này.
ví dụ:

Tất cả các thư viện com.android.support phải sử dụng cùng một đặc tả phiên bản chính xác (các phiên bản trộn có thể dẫn đến sự cố thời gian chạy). Đã tìm thấy các phiên bản 27.0.2, 26.1.0. Ví dụ bao gồm com.android.support:animated-vector-drawable:27.0.2 và com.android.support:customtabs:26.1.0

có một số tổ hợp thư viện hoặc công cụ và thư viện không tương thích hoặc có thể dẫn đến lỗi. Một trong những điểm không tương thích như vậy là biên dịch với phiên bản của các thư viện hỗ trợ Android không phải là phiên bản mới nhất (hoặc cụ thể là phiên bản thấp hơn targetSdkVersion của bạn.)

Giải pháp:
Thêm rõ ràng thư viện với phiên bản cũ nhưng với số phiên bản mới.
trong trường hợp của tôi, com.android.support:customtabs:26.1.0vì vậy tôi cần thêm:

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

tức là: Lấy thư viện từ mục thứ hai và triển khai nó với số phiên bản từ mục đầu tiên.

Lưu ý: đừng quên nhấn đồng bộ ngay bây giờ để gradle có thể xây dựng lại biểu đồ phụ thuộc và xem có thêm bất kỳ xung đột nào không.

Giải thích:
bạn có thể bối rối bởi thông báo lỗi như không sử dụng customtabsvậy làm thế nào tôi có xung đột !!
tốt .. bạn đã không sử dụng trực tiếp nhưng một trong các thư viện của bạn sử dụng phiên bản customtabsnội bộ cũ , vì vậy bạn cần yêu cầu trực tiếp.

nếu bạn tò mò muốn biết thư viện nào của mình chịu trách nhiệm cho phiên bản cũ và có thể yêu cầu tác giả cập nhật lib của mình, Chạy báo cáo phụ thuộc Gradle, hãy xem câu trả lời cũ để biết cách thực hiện.

Lưu ý điều này


Câu trả lời cũ:

lấy cảm hứng từ CommonsWare câu trả lời :

Chạy báo cáo phụ thuộc Gradle để xem cây phụ thuộc đầy đủ của bạn là gì.

Từ đó, bạn sẽ thấy thư viện nào của bạn đang yêu cầu phiên bản khác của thư viện Hỗ trợ Android. Đối với bất cứ điều gì nó yêu cầu, bạn có thể yêu cầu nó trực tiếp với phiên bản 25.2.0 hoặc sử dụng các phương pháp giải quyết xung đột khác của Gradle để có được các phiên bản tương tự.


Cập nhật:

Đối với phiên bản plugin gradle: 3.0 compileđã được thay thế bằng implementationhoặc apixem câu trả lời này để biết sự khác biệt.

do đó sử dụng thay thế:

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

hoặc cho cửa sổ cmd:

gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath

và tìm kiếm phiên bản bị xung đột.

Đối với tôi, lỗi đã biến mất sau khi xóa com.google.android.gms:play-services:10.2.0

Và chỉ bao gồm com.google.android.gms:play-services-location:10.2.0com.google.android.gms:play-services-maps:10.2.0vì chúng là hai dịch vụ chơi duy nhất mà tôi sử dụng.

Tôi nghĩ rằng sự gms:play-servicesphụ thuộc vào một số thành phần cũ của thư viện hỗ trợ, vì vậy chúng tôi cần phải tự mình thêm chúng một cách rõ ràng.


cho AS 3.0 cũ hơn.

Chạy:

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

Thí dụ:

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

nếu ai đó biết cách tốt hơn trong plugin gradle mới, vui lòng cho tôi biết.

203
João Paulo Paiva 2017-03-04 02:31.
  1. Đi tới project/.idea/librariesthư mục trên hệ thống tệp của bạn và xem thư viện nào khác nhau.
  2. Bạn sẽ phải đưa các thư viện này vào cùng một phiên bản trong build.gradletệp của mình theo cách thủ công .
  3. Sau đó, đồng bộ hóa dự án của bạn.

Ví dụ:

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

// Wrong library version found on 1st point
compile 'com.android.support:customtabs:25.2.0'
150
Brandon Zamudio 2017-03-08 08:41.

Đối với mọi trường hợp, không chỉ đối với các phiên bản hoặc thư viện này:

Hãy chú ý đến cửa sổ thông tin nhỏ cho biết điều gì đó về lỗi, nó cho biết các ví dụ mà bạn phải thay đổi và thêm vào .

Trong trường hợp này:

Đã tìm thấy các phiên bản 25.1.1, 24.0.0. Ví dụ bao gồm com.android.support:animated-vector-drawable:25.1.1 và com.android.support:mediarouter-v7:24.0.0

Của bạn

com.android.support:animated-vector-drawable:25.1.1

là phiên bản 25.1.1 và của bạn

com.android.support:mediarouter-v7:24.0.0

là phiên bản 24.0.0 , vì vậy bạn phải thêm mediarouter có cùng phiên bản:

com.android.support:mediarouter-v7:25.1.1

Và làm điều đó cho mọi ví dụ mà cửa sổ thông tin nhỏ cho biết, trong trường hợp này là tất cả các thư viện không có phiên bản 25.1.1.

Bạn phải đồng bộ hóa gradle sau khi sửa thư viện được chỉ định để xem thư viện và gói tiếp theo mà bạn phải thay đổi.

QUAN TRỌNG:

Nếu bạn không sử dụng rõ ràng một hoặc nhiều thư viện được chỉ định và nó đang gây ra lỗi cho bạn, điều đó có nghĩa là thư viện đó đang được sử dụng nội bộ bởi một thư viện khác, hãy biên dịch nó một cách rõ ràng.

Bạn cũng có thể sử dụng một phương pháp khác để xem sự khác biệt của các phiên bản của tất cả các thư viện mà bạn thực sự đang biên dịch (như chạy báo cáo phụ thuộc gradle hoặc truy cập tệp thư viện của bạn), đối tượng thực sự là biên dịch tất cả các thư viện mà bạn đang sử dụng cùng một phiên bản .

106
Adarsh Vijayan P 2018-07-20 20:14.

Cách tốt nhất để giải quyết vấn đề là triển khai tất cả 'com.android.support: ...' do Android Studio đề xuất

(Không quan trọng bạn đang sử dụng phiên bản hỗ trợ nào - 27.1.1, 28.0.0, v.v.)

Đặt con trỏ đến dòng lỗi, ví dụ:

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

Android Studio sẽ gợi ý cho bạn phiên bản 'com.android.support: ...' nào khác với 'com.android.support:appcompat-v7:28.0.0'

Thí dụ

Tất cả các thư viện com.android.support phải sử dụng cùng một đặc tả phiên bản chính xác (các phiên bản trộn có thể dẫn đến sự cố thời gian chạy). Đã tìm thấy các phiên bản 28.0.0, 27.1.0, 27.0.2. Ví dụ bao gồm com.android.support:animated-vector-drawable:28.0.0 và com.android.support:exifinterface:27.1.0

Vì vậy, hãy thêm com.android.support:animated-vector-drawable:28.0.0 & com.android.support:exifinterface:28.0.0. Bây giờ đồng bộ hóa tệp gradle.

Từng người một cố gắng triển khai tất cả 'com.android.support: ...' được đề xuất cho đến khi không có lỗi trong dòng này implementation 'com.android.support:appcompat-v7:28.0.0'

Trong trường hợp của tôi, tôi đã thêm

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'

Tất cả những phụ thuộc này, nó có thể khác với bạn.

100
ezzou 2017-10-27 10:56.

Thêm cái này vào cuối build.gradle (Mô-đun: ứng dụng) của bạn:

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

   }
}

Đảm bảo rằng bạn thay thế '25 .3.1 'bằng phiên bản của thư viện hỗ trợ android mà bạn muốn sử dụng cho tất cả các phụ thuộc, nó không được thấp hơn phiên bản sdk tuân thủ của bạn

hơn là đồng bộ lại gradle

54
Berat Baran Cevik 2017-03-04 12:01.

Tôi gặp sự cố tương tự sau khi cập nhật lên Android Studio 2.3

Thêm dòng này vào phần phụ thuộc đã giải quyết được vấn đề của tôi:

compile 'com.android.support:customtabs:25.2.0'
46
Daniel Wilson 2017-03-11 13:25.

A) Chạy gradle dependencieshoặc./gradlew dependencies

B) Nhìn vào cây của bạn và tìm ra phần phụ thuộc nào của bạn đang chỉ định một phiên bản thư viện hỗ trợ khác cho phần phụ thuộc mà bạn không kiểm soát.

Tôi không nhận ra rằng cảnh báo này cũng hiển thị nếu phần phụ thuộc hoàn toàn không được sử dụng trực tiếp bởi mã của riêng bạn. Trong trường hợp của tôi, Facebook chỉ định một số lib hỗ trợ mà tôi không sử dụng, bạn có thể thấy bên dưới hầu hết các phụ thuộc đó đã bị ghi đè bởi thông số kỹ thuật của riêng tôi là 25.2.0, được biểu thị bằng các ký hiệu -> XXX (*) . Chế độ xem thẻ và các tab tùy chỉnh không bị ai ghi đè, vì vậy tôi cần phải tự mình yêu cầu 25.2.0 cho những cái đó mặc dù tôi không sử dụng chúng.

+--- 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 (*)

Nếu gradle đã cảnh báo bạn và cho bạn ví dụ ...

Ví dụ bao gồm com.android.support:animated-vector-drawable:25.1.1 và com.android.support:mediarouter-v7:24.0.0

... thậm chí còn dễ dàng hơn nếu bạn bổ sung một số tô sáng màu xám cho phiên bản thấp hơn vì gradle dependenciescó thể khá dài dòng:

./gradlew dependencies | grep --color -E 'com.android.support:mediarouter-v7|$'
32
Daniel F 2017-03-23 08:36.

Sử dụng các biến : Thực hiện một số việc như sau sẽ giúp bạn dễ dàng đảm bảo rằng bạn sử dụng cùng một phiên bản với tất cả các thư viện

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

Có thể tìm thấy thêm thông tin về cách Google đề xuất bạn xử lý phiên bản này trong bài viết này: https://developer.android.com/studio/build/index.html#top-level

25
Mohsen mokhtari 2017-03-09 09:35.

chỉ cần thêm cái này:

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

Updated cho các phiên bản SDK mới

compile 'com.android.support:mediarouter-v7:28.0.0-alpha3'
19
Prabs 2017-12-06 22:28.

Nếu cùng một lỗi trên appcompat

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

sau đó thêm đã designgiải quyết nó.

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

Đối với tôi, thêm

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

đã bao gồm appcompat-v7:23.1.1trong

.idea / thư viện

không có vlc, appcompatmột mình là đủ.

19
anoopbryan2 2018-03-08 23:05.

Như bạn đã thấy tất cả các câu trả lời và nhận xét ở trên nhưng câu trả lời này là để làm rõ điều gì đó mà một nhà phát triển mới có thể không dễ dàng nhận được.

./gradlew -q phụ thuộc ứng dụng: phụ thuộc - biên dịch cấu hình

Dòng trên sẽ cứu mạng bạn chắc chắn nhưng làm thế nào để lấy điểm chính xác từ kết quả của dòng trên.

Khi bạn nhận được tất cả biểu đồ hoặc danh sách phụ thuộc từ lệnh trên thì bạn phải tìm kiếm số phiên bản xung đột mà bạn đang nhận được trong mã của mình. xin vui lòng xem hình ảnh dưới đây.

trong hình trên, bạn có thể thấy rằng 23.4.0 đang tạo ra sự cố nhưng điều này chúng tôi không thể tìm thấy trong tệp gradle của mình. Vì vậy, bây giờ số phiên bản này (23.4.0) sẽ cứu chúng ta. Khi chúng ta có số này thì chúng ta sẽ tìm số này trong kết quả của kết quả lệnh trên và nhập trực tiếp phụ thuộc đó trực tiếp vào tệp gradle của chúng ta. Vui lòng xem hình ảnh bên dưới để có cái nhìn rõ ràng.

bạn có thể thấy rõ rằng com.android.support:cardview-v7:23.4.0com.android.support:customtabs:23.4.0 đang sử dụng phiên bản gây ra sự cố. Bây giờ chỉ cần sao chép những dòng đó từ danh sách phụ thuộc và sử dụng rõ ràng trong tệp gradle của chúng tôi nhưng với liên kết phiên bản cập nhật

triển khai "com.android.support:cardview-v7:26.1.0" thực hiện "com.android.support:customtabs:26.1.0"

15
Gainder 2018-02-04 07:19.

Một cách khác để giải quyết xung đột là chỉ buộc phiên bản chính xác cho tất cả các phụ thuộc như sau:

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

12
Mehmet Hanoğlu 2017-03-09 02:21.

Sử dụng support-v13 thay vì support-v4

compile 'com.android.support:support-v13:25.2.0'
12
Mohammad Maaz 2019-02-02 00:35.

thêm những thứ này vào phần phụ thuộc cấp ứng dụng

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'
9
Yanbin Hu 2017-04-21 05:35.

Vấn đề của tôi cũng tương tự như của bạn. Ở đây tồn tại một lỗi!

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

Tất cả các thư viện com.android.support phải sử dụng cùng một đặc tả phiên bản chính xác (các phiên bản trộn có thể dẫn đến sự cố thời gian chạy). Đã tìm thấy các phiên bản 25.3.0, 24.0.0. Ví dụ như 'com.android.support:animated-vector-drawable:25.3.0' và 'com.android.support:mediarouter-v7:24.0.0'

Xem các Ví dụ này bao gồm 'com.android.support:animated-vector-drawable:25.3.0' và 'com.android.support:mediarouter-v7:24.0.0'

chỉ cần thêm các mã này trong các phần phụ thuộc, đảm bảo rằng các phiên bản giống nhau.

compile 'com.android.support:animated-vector-drawable:25.3.0'
compile 'com.android.support:mediarouter-v7:25.3.0'
9
Sandeep 2017-05-13 08:35.

Tôi gặp lỗi tương tự sau khi thêm compile 'com.google.android.gms:play-services:10.2.4'bằng biên dịch 'com.android.support:appcompat-v7:25.3.1'.

Thêm animated-vector-drawablemediarouter libskhắc phục sự cố.

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'
9
Sagar Patel 2018-04-12 14:25.

Tôi đã có cái này:

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

và gặp lỗi này:

Các giải pháp rất dễ dàng - tất cả các phụ thuộc chính đều đúng, tuy nhiên, lá - bất kỳ phụ thuộc bên thứ ba nào. Đã xóa từng cái một cho đến khi tìm ra thủ phạm, và hóa ra là facebook! nó sử dụng phiên bản 27.0.2 của các thư viện hỗ trợ Android. Tôi đã cố gắng thêm phiên bản cardview 27.1.1 nhưng điều đó không hoạt động ở miền Bắc, giải pháp vẫn đủ đơn giản.

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'
}
9
Shaon 2019-04-21 00:18.

Tôi đã gặp phải sự cố này sau khi nâng cấp lên phiên bản android studio 3.4 và sdk lên 28.0.0. Áp dụng phụ thuộc dưới đây đã giải quyết được vấn đề cho tôi.

    implementation 'com.android.support:exifinterface:28.0.0'
8
Aparajita Sinha 2017-03-16 21:03.

Tôi đã sử dụng hai cái này để giải quyết vấn đề của mình sau khi nâng cấp lên android studio 2.3

compile 'com.android.support:animated-vector-drawable:25.0.0'
compile 'com.android.support:mediarouter-v7:25.0.0'
8
Hesham Morsy 2017-04-21 11:11.

Tôi đã gặp vấn đề tương tự trước đây và tôi đã có giải pháp cho nó.

Tôi vừa thêm các thư viện có phiên bản khác nhưng có cùng phiên bản của tôi support:appcompat.

Đối với lỗi của bạn chẳng hạn:

Tất cả các thư viện com.android.support phải sử dụng cùng một đặc tả phiên bản chính xác (các phiên bản trộn có thể dẫn đến sự cố thời gian chạy). Đã tìm thấy các phiên bản 25.1.1, 24.0.0. Ví dụ bao gồm com.android.support:animated-vector-drawable:25.1.1 và com.android.support:mediarouter-v7:24.0.0

* Giải pháp là biên dịch các phiên bản của các thư viện này như vậy:

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

-nếu thư viện khác gặp vấn đề tương tự và có phiên bản khác, chỉ cần biên dịch nó với support:appcompatphiên bản của bạn

Điều này đã giải quyết vấn đề của tôi và tôi hy vọng nó giải quyết được vấn đề của bạn.

Lời chúc tốt nhất :)

8
Ali Karaca 2018-10-01 04:08.

Sau khi tìm kiếm và kết hợp các câu trả lời, phiên bản 2018 của câu hỏi này và nó phù hợp với tôi:

1) Trên tab điều hướng, thay đổi nó thành chế độ xem dự án

2) Điều hướng đến [YourProjectName] /. Ý tưởng / thư viện /

3) Xóa tất cả các tệp bắt đầu bằng Gradle__com_android_support_ [libraryName]

Ví dụ: Gradle__com_android_support_animated_vector_drawable_26_0_0.xml

4) Trong tệp gradle của bạn, hãy xác định một biến và sử dụng nó để thay thế số phiên bản như $ {variableName}

Biến Def:

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

Sử dụng biến:

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

ví dụ gradle:

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

}
8
Muhammad 2019-01-05 23:51.

Rất đơn giản với phiên bản mới của android studio 3.x.

Chỉ cần sao chép phiên bản nhỏ hơn phiên bản hiện tại và thêm nó một cách rõ ràng với cùng số phiên bản với phiên bản hiện tại.

Thí dụ

Đã tìm thấy các phiên bản 27.1.1, 27.1.0. Ví dụ bao gồm com.android.support:animated-vector-drawable:27.1.1 và com.android.support:exifinterface:27.1.0

Chỉ cần sao chép phiên bản com.android.support:exifinterface:27.1.0và thay đổi nó để com.android.support:exifinterface:27.1.1nó trở nên giống với phiên bản hiện tại bạn đang sử dụng và thêm nó vào các phụ thuộc gradle của bạn như sau.

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

Lưu ý: Sau khi hoàn tất, đừng quên nhấp vào Đồng bộ hóa ngay bây giờ ở đầu trình chỉnh sửa.

7
Alwayss Bijoy 2018-12-07 01:33.

trong bản cập nhật năm 2018 cho lỗi này, thêm triển khai từ cấu trúc dự án

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

ở chế độ dự án -> Thư viện bên ngoài ở đó bạn có thể tìm thấy sự cố của mình, trong trường hợp của tôi, tôi đang sử dụng phiên bản 28 và các thư viện bên ngoài, tôi đã tìm thấy com.android.support:support-media-compat-26.0.0và đây là lỗi.

sau khi triển khai support v13và nó hoạt động

6
Sneh Pandya 2017-02-22 07:40.

Bạn đã xác định bất kỳ phụ thuộc nào khác để biên dịch với phiên bản 24.0.0thay vì 25.1.1. Vui lòng đặt tất cả các phiên bản phụ thuộc giống như 25.1.1.

6
Shrikant 2017-04-04 01:03.

Tôi đã phải thêm các dòng sau trong gradle để loại bỏ lỗi

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'
6
Matt W 2017-05-25 06:34.

Tôi đã chạy các tác vụ ./gradlew --tất cả và kiểm tra các phần phụ thuộc là phiên bản khác với phiên bản được nhắm mục tiêu (25.3.1). Bạn sẽ nhận được một cái gì đó như thế này:

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

Trong trường hợp này, tôi đang nhắm mục tiêu 25.3.1 và có một số phụ thuộc nhắm mục tiêu các phiên bản khác nhau khi tôi chạy lệnh này. Bí quyết là xác định các phần phụ thuộc trong danh sách này đang nhắm mục tiêu các phiên bản trước đó và ghi đè nó bằng cách nhập phiên bản mới nhất của phần phụ thuộc vào Gradle.

6
Hamza Rahman 2018-07-04 21:01.

Tôi có cùng một vấn đề nhưng tôi đã giải quyết vấn đề này bằng cách thêm ba dòng đó

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'

bây giờ Mọi thứ hoạt động hoàn hảo

6
Phan Van Linh 2018-01-14 22:09.

Đây là quy trình của tôi để khắc phục cảnh báo này

build.gradle

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

Để xem / xác minh dependenciestất cả thư viện trong ứng dụng của bạn
Mở thiết bị đầu cuối và chạy./gradlew app:dependencies

Để xem dependenciesthư viện cụ thể trong ứng dụng của bạn, hãy làm theo hướng dẫn tại đây: - Cách loại trừ các phần phụ thuộc của một phần phụ thuộc cụ thể trong Gradle

Hy vọng nó sẽ giúp

5
Subho 2017-02-24 00:07.

Mở thư viện bên ngoài của dự án của bạn, bạn sẽ thấy rằng một số thư viện vẫn đang sử dụng phiên bản trước đó mặc dù bạn đã không đề cập đến những thư viện đó vì vậy đề xuất của tôi là chỉ sử dụng phiên bản thư viện cụ thể cho những thư viện đó sẽ giải quyết được vấn đề của bạn.

5
Ajit Thapa 2017-03-09 05:09.

Tôi vừa cập nhật Kho lưu trữ hỗ trợ Android của mình lên (bản sửa đổi: 44.0.0); sau đó là các công cụ SDK Android và Trình mô phỏng lên phiên bản mới nhất 25.3.1 từ trình quản lý sdk> công cụ SDK Và nó đã giải quyết được vấn đề của tôi.

Related questions

MORE COOL STUFF

Cate Blanchett chia tay chồng sau 3 ngày bên nhau và vẫn kết hôn với anh ấy 25 năm sau

Cate Blanchett chia tay chồng sau 3 ngày bên nhau và vẫn kết hôn với anh ấy 25 năm sau

Cate Blanchett đã bất chấp những lời khuyên hẹn hò điển hình khi cô gặp chồng mình.

Tại sao Michael Sheen là một diễn viên phi lợi nhuận

Tại sao Michael Sheen là một diễn viên phi lợi nhuận

Michael Sheen là một diễn viên phi lợi nhuận nhưng chính xác thì điều đó có nghĩa là gì?

Hallmark Star Colin Egglesfield Các món ăn gây xúc động mạnh đối với người hâm mộ tại RomaDrama Live! [Loại trừ]

Hallmark Star Colin Egglesfield Các món ăn gây xúc động mạnh đối với người hâm mộ tại RomaDrama Live! [Loại trừ]

Ngôi sao của Hallmark Colin Egglesfield chia sẻ về những cuộc gặp gỡ với người hâm mộ ly kỳ tại RomaDrama Live! cộng với chương trình INSPIRE của anh ấy tại đại hội.

Tại sao bạn không thể phát trực tuyến 'chương trình truyền hình phía Bắc'

Tại sao bạn không thể phát trực tuyến 'chương trình truyền hình phía Bắc'

Bạn sẽ phải phủi sạch đầu đĩa Blu-ray hoặc DVD để xem tại sao Northern Exposure trở thành một trong những chương trình nổi tiếng nhất của thập niên 90.

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

8 công dụng tuyệt vời của Baking Soda và Giấm

8 công dụng tuyệt vời của Baking Soda và Giấm

Bạn biết đấy, hai sản phẩm này là nguồn điện để làm sạch, riêng chúng. Nhưng cùng với nhau, chúng có một loạt công dụng hoàn toàn khác.

Hạn hán, biến đổi khí hậu đe dọa tương lai của thủy điện Hoa Kỳ

Hạn hán, biến đổi khí hậu đe dọa tương lai của thủy điện Hoa Kỳ

Thủy điện rất cần thiết cho lưới điện của Hoa Kỳ, nhưng nó chỉ tạo ra năng lượng khi có nước di chuyển. Bao nhiêu nhà máy thủy điện có thể gặp nguy hiểm khi các hồ và sông cạn kiệt?

Quyên góp tóc của bạn để giúp giữ nước sạch của chúng tôi

Quyên góp tóc của bạn để giúp giữ nước sạch của chúng tôi

Tóc tỉa từ các tiệm và các khoản quyên góp cá nhân có thể được tái sử dụng như những tấm thảm thấm dầu và giúp bảo vệ môi trường.

Làm thế nào để xây dựng một quả địa cầu từ Scratch

Làm thế nào để xây dựng một quả địa cầu từ Scratch

Thời gian, sự kiên nhẫn, thời gian, sự cống hiến và thời gian chỉ là một vài trong số những thứ mà Peter Bellerby cần để thành lập và sau đó điều hành Bellerby & Co. Globemakers, một trong những công ty duy nhất trên Trái đất vẫn sản xuất các quả địa cầu bằng tay.

Năm giai đoạn đau buồn sau khi mất việc làm

Năm giai đoạn đau buồn sau khi mất việc làm

Đó là một ngày thứ Bảy, máy bay của tôi hạ cánh, và tôi đã sẵn sàng để thư giãn trong một kỳ nghỉ cuối tuần ngắn ngủi, khi một email đến trên điện thoại của tôi. Tôi đã mất việc.

Giữ an toàn cho danh tính của bạn với một cảnh báo đóng băng hoặc gian lận tín dụng

Giữ an toàn cho danh tính của bạn với một cảnh báo đóng băng hoặc gian lận tín dụng

Nếu bạn đã từng bị đánh cắp danh tính của mình, bạn biết đó là một trải nghiệm đáng sợ và căng thẳng. Một cách không phổ biến để ngăn chặn nó? Tín dụng bị đóng băng.

Buổi ra mắt phần 3 của The Good Place có một học sinh mới: Khán giả

Buổi ra mắt phần 3 của The Good Place có một học sinh mới: Khán giả

Eleanor (Kristen Bell) dường như đã tình nguyện cho chúng tôi làm vật tưởng nhớ. NBC's The Good Place là một chương trình thích thử thách tốt.

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa. Từ Hollywood đến New York và mọi nơi ở giữa, hãy xem các ngôi sao yêu thích của bạn đang làm gì!

17 tuổi bị đâm chết trong khi 4 người khác bị thương trong một cuộc tấn công bằng dao trên sông Wisconsin

17 tuổi bị đâm chết trong khi 4 người khác bị thương trong một cuộc tấn công bằng dao trên sông Wisconsin

Các nhà điều tra đang xem xét liệu nhóm và nghi phạm có biết nhau trước vụ tấn công hay không

Thanh thiếu niên, Gia đình Florida Hội đồng quản trị trường học về Luật 'Không nói đồng tính': 'Buộc chúng tôi tự kiểm duyệt'

Thanh thiếu niên, Gia đình Florida Hội đồng quản trị trường học về Luật 'Không nói đồng tính': 'Buộc chúng tôi tự kiểm duyệt'

Vụ kiện, nêu tên một số học khu, lập luận rằng dự luật "Không nói đồng tính" được ban hành gần đây của Florida "có hiệu quả im lặng và xóa bỏ học sinh và gia đình LGBTQ +"

Đường băng hạ cánh

Đường băng hạ cánh

Cuối hè đầu thu là mùa hoài niệm. Những chiếc đèn đường chiếu ánh sáng của chúng qua những con đường đẫm mưa, và những chiếc lá dưới chân - màu đỏ cam tắt trong bóng chạng vạng - là lời nhắc nhở về những ngày đã qua.

Hãy tưởng tượng tạo ra một chiến lược nội dung thực sự CHUYỂN ĐỔI. Nó có thể.

Hãy tưởng tượng tạo ra một chiến lược nội dung thực sự CHUYỂN ĐỔI. Nó có thể.

Vào năm 2021, tôi khuyến khích bạn suy nghĩ lại mọi thứ bạn biết về khách hàng mà bạn phục vụ và những câu chuyện bạn kể cho họ. Lùi lại.

Sự mất mát của voi ma mút đã mở ra trái tim tôi để yêu

Sự mất mát của voi ma mút đã mở ra trái tim tôi để yêu

Vào ngày sinh nhật thứ 9 của Felix The Cat, tôi nhớ về một trong những mất mát lớn nhất trong cuộc đời trưởng thành của tôi - Sophie của tôi vào năm 2013. Tôi đã viết bài luận này và chia sẻ nó trên nền tảng này một thời gian ngắn vào năm 2013.

Khi bạn không thể trở thành người mà Internet muốn bạn trở thành

Khi bạn không thể trở thành người mà Internet muốn bạn trở thành

Tôi ghét từ "tàu đắm". Mọi người cảm thấy thoải mái trong la bàn đạo đức của riêng mình, và khi làm như vậy, họ thấy mình vượt qua sự phán xét.

Language