Не удалось решить проблему с библиотекой обратной совместимости - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть Android Studio 3.1.2 Последнее обновление.

У меня проблема с обратной совместимостью, как показано на изображении

Issue Image

Ниже мой gradle Файл

Файл Gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.companyname.appname"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    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'

    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:design:27.1.1'
    testCompile 'junit:junit:4.12'
    implementation 'com.android.support:multidex:1.0.1'
    implementation 'com.android.support:cardview-v7:27.1.1'

    implementation 'com.google.android.gms:play-services:9.2.0'
    implementation files('libs/ksoap2-android-assembly-2.4-jar-with-dependencies.jar')
    implementation('com.crashlytics.sdk.android:crashlytics:2.6.6@aar') {
        transitive = true;
    }
    implementation 'com.weiwangcn.betterspinner:library-material:1.1.0'


}

Выше приведен мой файл gradle, я не использую библиотеку, как описано в разделе Ошибка, все еще получаю ошибку.

1 Ответ

0 голосов
/ 27 апреля 2018

Это еще одна библиотека в вашем списке зависимостей, которая импортирует отмеченную библиотеку поддержки. Поскольку эти библиотечные зависимости будут конфликтовать, вы должны добавить их явно. Поэтому вам нужно добавить mediarouter-v7: 27.1.1 в ваши зависимости, и сообщение исчезнет. Вам, вероятно, придется добавить и другие зависимости.

Это решение имеет горький вкус, потому что вам нужно добавлять зависимости, которые вам на самом деле не нужны. Вы можете попытаться выяснить, какая библиотека на самом деле использует устаревшую версию 23.0.0, и попросить их обновить библиотеку до более поздней версии.

Может быть, это эта библиотека:

implementation 'com.weiwangcn.betterspinner:library-material:1.1.0'

Это зависит от

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

Итак, как указано на их сайте, вы должны исключить этих библиотек:

Если в ваших зависимостях есть appcompat-v7, обязательно исключите его :

compile ('com.weiwangcn.betterspinner:library:1.1.0') {
exclude group: 'com.android.support', module: 'appcompat-v7' }

UPDATE

После того, как я снова столкнулся с этой проблемой при работе с Google Wear OS, полезно показать дерево зависимостей для отслеживания, которое на самом деле включает конфликтующие библиотеки:

./gradlew app:dependencies

Это напечатает вам полный граф зависимостей, где вы можете увидеть соответствующие sup-зависимости. После этого вы можете исключить те из библиотеки, которая использует старые ссылки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...