Все библиотеки должны использовать одинаковые версии - PullRequest
0 голосов
/ 05 мая 2018

Мои зависимости

dependencies {
compile 'me.dm7.barcodescanner:zxing:1.9'
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:design:26.1.0'

implementation 'com.android.support.constraint:constraint-layout:1.0.2'
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'

compile 'com.theartofdev.edmodo:android-image-cropper:2.7.+'

}

Я получаю сообщение об ошибке в строке appcompat при компиляции найденной версии. 27.1.1,26.1.0 Примеры включают .. vectordrawable 27.1.1 nd supportdesign 26.1.0

Мой целевой SDK - 26.

Я пытался переключить версии на 27, но моя цель SDK - 26, я получаю сообщение об ошибке.

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

В вашем проекте есть конфликтующие зависимости. Вам нужно проверить дерево зависимостей вашего проекта, выполнив следующую команду в вашем терминале Linux:

./gradlew app:dependencies

или если вы используете Windows:

 gradlew app:dependencies

в вашем корневом проекте. Где app - это имя вашего модуля.

Быстро проверив свой блок зависимостей, вы найдете следующую библиотеку:

compile 'com.theartofdev.edmodo:android-image-cropper:2.7.+'

использует библиотеку поддержки версии 27.1.1 для своих зависимостей (вы можете проверить ее build.gradle ).

Вы можете исключить библиотеку из обрезки изображений с помощью:

implementation ('com.theartofdev.edmodo:android-image-cropper:2.7.0') {    
    exclude group: 'com.android.support'
    exclude module: 'appcompat-v7'
}

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

Лучший способ - изменить BuildToolsVersion, compileSdkVersion, targetSdkVersion и support libraries на версию 27 . Примерно так:

android {
  compileSdkVersion 27
  buildToolsVersion '27.0.3'

  defaultConfig {
    applicationId "com.package.name"
    minSdkVersion 15
    targetSdkVersion 27

    ...
  }

  ...
}

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

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

  // your other dependencies
  ...
}
0 голосов
/ 05 мая 2018

Всякий раз, когда вы видите проблему такого типа, явно объявляйте библиотеки вероятностных функций в вашем файле Gradle с той же версией других ваших библиотек поддержки:

implementation "com.android.support:animated-vector-drawable:26.1.0"
implementation "com.android.support:design:26.1.0"
implementation 'com.android.support:support-vector-drawable:26.1.0'

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

Кроме того, используйте реализацию, а не компилируйте. Компиляция устарела:

implementation 'me.dm7.barcodescanner:zxing:1.9'
implementation 'com.theartofdev.edmodo:android-image-cropper:2.7.0'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...