Поддерживающие библиотеки должны использовать точную ошибку спецификации версии с compileSdkVersion 28 - PullRequest
0 голосов
/ 26 сентября 2018

После обновления compileSdkVersion с 27 на 28 и обновления библиотек поддержки с 27.1.1 до 28.0.0 я получил это предупреждение в Android Studio 3.2:

Все библиотеки com.android.support должны использоватьточно такая же спецификация версии (смешивание версий может привести к сбоям во время выполнения).Найдено версии 28.0.0, 26.1.0.Примеры включают com.android.support:animated-vector-drawable:28.0.0 и com.android.support:support-v4:26.1.0

Мой Gradle:

dependencies {
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'

    // Für Google "Mobile Vision" API
    implementation 'com.google.android.gms:play-services-vision:15.0.2'

    // wird nicht weiterentwickelt
    implementation 'com.edwardvanraak:MaterialBarcodeScanner:0.0.6-ALPHA'

    // für Butter Knife
    // https://github.com/JakeWharton/butterknife
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
    implementation 'com.jakewharton:butterknife:8.8.1'

    // Logging nur im Debug Modus
    // https://github.com/JakeWharton/timber
    implementation 'com.jakewharton.timber:timber:4.7.1'

    // Für Material Dialogs
    // https://github.com/afollestad/material-dialogs
    implementation 'com.afollestad.material-dialogs:core:0.9.6.0'

    // Google support library
    implementation 'com.android.support:cardview-v7:28.0.0'
    implementation 'com.android.support:recyclerview-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:design:28.0.0'
    implementation 'com.android.support:support-media-compat:28.0.0'

    implementation 'commons-io:commons-io:2.6'
    implementation 'com.google.code.gson:gson:2.8.2'


    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

Если я запускаю приложение, я получаю эту ошибку в строке setContentView (R.layout.activity_main);

Rejecting re-init on previously-failed class java.lang.Class<android.support.v4.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener;
2018-09-26 15:03:49.987 21534-21534/com.timeshuttle.lagerapp I/zygote64:     at void android.support.v4.view.ViewCompat.setOnApplyWindowInsetsListener(android.view.View, android.support.v4.view.OnApplyWindowInsetsListener) (ViewCompat.java:2203)
2018-09-26 15:03:49.987 21534-21534/com.timeshuttle.lagerapp I/zygote64:     

Как мне решить эту проблему?

Когда я добавляю строку

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

, предупреждение исчезает,но приложение по-прежнему не запускается (то же сообщение об ошибке)


update

Когда я возвращаюсь к 27.1.1, предупреждение о конфликте версий не появляется.Предупреждение появляется только с 28.0.0.Должен ли я изменить порядок зависимостей?

1 Ответ

0 голосов
/ 26 сентября 2018

Некоторые из ваших зависимостей все еще используют com.android.support:support-v4:26.1.0, поэтому вам нужно либо обновить зависимость, либо использовать более старую версию библиотеки поддержки.

...