Предупреждение о смешанных версиях Gradle - PullRequest
0 голосов
/ 01 сентября 2018

Мое приложение использует API 19, я поместил MapView в один из моих макетов и добавил реализацию карт Google. Теперь я получаю предупреждение от Gradle, что я смешиваю версии.

Вот предупреждение:

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

Вот мои зависимости gradle:

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0-rc02'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
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.volley:volley:1.1.1'
implementation 'com.google.android.gms:play-services-maps:15.0.1'

Предупреждение отображается для 'com.android.support:appcompat-v7:28.0.0-rc02'.

Я не уверен, где найти правильную версию для play-services-maps или как правильно решить эту проблему. Я не хочу понижать мою мин версию с 19.

Ответы [ 7 ]

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

предложение гласит:

Все библиотеки com.android.support должны использовать одну и ту же спецификацию версий (смешивание версий может привести к сбоям во время выполнения).

это означает, что вам нужно будет exclude 26.1.0 и указать 28.0.0-rc02 вместо:

implementation "com.android.support:support-media-compat:28.0.0-rc02"
implementation "com.android.support:support-v4:28.0.0-rc02"
implementation ("com.google.android.gms:play-services-maps:15.0.1") {
    exclude group: "com.google.android.gms", module: "support-media-compat"
    exclude group: "com.android.support", module: "support-v4"
}

Возможно, будут конфликтовать другие версии, но исправление их будет таким же.

0 голосов
/ 13 мая 2019

Столкнувшись с той же проблемой, я решил ее, выполнив следующее:

  • Проверил версию SDK для моего проекта в файле build.gradle, чтобы узнать версию и соответственно изменить библиотеки
  • Затем мне пришлось переопределить библиотеки и изменить версии, встроенные в SDK

Прикрепленное изображение показывает библиотеки, которые мне пришлось переопределить:

  • com.android.support: рисование анимированных векторов изменено на 28.0.0

  • com.android.support: support-media-compat изменено на 28.0.0

  • com.android.support: support-v4 изменен на 28.0.0

android studio project dependencies

Что я понял, так это то, что поддержка android, drawable и compat библиотеки были предопределены версией 26.1.0, а моя версия и цель sdk были 28, поэтому мне пришлось изменить это.

Мой грейдер работает без сбоев, и у него еще не было проблем.

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

Просто добавьте эти строки

implementation 'com.android.support:customtabs:28.0.0-rc02' implementation 'com.android.support:support-media-compat:28.0.0-rc02' implementation 'com.android.support:support-v4:28.0.0-rc02'

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

1. Перейдите в папку project / .idea / library в вашей файловой системе и посмотрите, какие библиотеки отличаются.

2.Вы должны будете вручную включить эти библиотеки с одинаковой версией в файл build.gradle.

3. Затем синхронизируйте ваш проект

В вашем случае: -

implementation 'com.android.support:animated-vector-drawable:28.0.0-rc02'

Вам необходимо добавить зависимость: -

implementation 'com.android.support:support-media-compat:28.0.0-rc02'
0 голосов
/ 01 сентября 2018

Вам необходимо выполнить следующие шаги. 1- проект / .idea / библиотеки Здесь вы увидите, какая библиотека отличается. Вы можете исправить другой в соответствии со всеми вашими библиотеками. Затем синхронизируйте ваш проект.

0 голосов
/ 01 сентября 2018
//put this things in build.gradle(Project) file
allprojects {
  repositories {
    maven {
      url "https://maven.google.com"
    }
    jcenter()
    google()
  }
}
0 голосов
/ 01 сентября 2018

Добавьте это в конце вашего build.gradle (: app)

configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    def requested = details.requested
    if (requested.group == 'com.android.support') {
            details.useVersion '26.1.0'
     }

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