Спецификация версий Gradle: использование mancj / MaterialSearchBar с API lvl 27? - PullRequest
0 голосов
/ 23 сентября 2018

Я использую mancj / MaterialSearchBar , чтобы настроить панель поиска, похожую на панель Playstore.Однако у меня возникли некоторые проблемы с моей сборкой Gradle.

Ошибка

enter image description here

build.gradle (Модуль: приложение)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.example.."
        minSdkVersion 27
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        renderscriptTargetApi 27
        renderscriptSupportModeEnabled true
    }
    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.3'
    implementation 'com.android.support:support-v4:27.1.1'
    implementation 'com.android.support:design:27.1.1'
    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.github.mancj:MaterialSearchBar:0.7.6'
}

Решение опробовано

Я уже пытался заменить реализацию этого API следующей строкой: implementation 'com.github.mancj:MaterialSearchBar:0.7.6:27.1.1', но не нашел (то есть не существует).

Ответы [ 2 ]

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

можно заменить конфликтующую версию похожей на эту (и надеюсь, что она все еще будет работать с 27.1.1):

implementation "com.android.support:cardview-v7:27.1.1"
implementation ("com.github.mancj:MaterialSearchBar:0.7.6") {
    exclude group: "com.android.support", module: "cardview-v7"
}
0 голосов
/ 24 сентября 2018

Библиотека (версия 0.7.6) использует 3 зависимости (AppCompat-v7, RecyclerView-v7 и CardView-v7), связанные с версией 25.4.0.

.уже используют AppCompat-v7 и RecyclerView (RecyclerView включен в Design), библиотека будет использовать версию 27 вместо 25.

У вас есть только еще одна библиотека для преобразования из 25 в27, CardView-v7.

Если добавить implementation 'com.android.support:cardview-v7:27.1.1', это заставит библиотеку использовать версию 27 вместо 25 и, следовательно, позволит вам скомпилировать.

Вам все еще нужнопозаботьтесь о том, чтобы протестировать ваше приложение на предмет корректности его поведения, поскольку библиотека еще не была протестирована на использование 27.

...