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

Я обнаружил ошибку в build.gradle.Пришлите мне сообщение "Все библиотеки com.android.support должны использовать одну и ту же спецификацию версии (смешивание версий может привести к сбоям во время выполнения) . В нижней части" реализация "ком есть красная линия.android.support: appcompat-v7: 28.0.0 '". Я не знаю, где я ошибся.

Спасибо

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation "com.android.support:appcompat-v7:28.0.0"
implementation "com.android.support:design:28.0.0"
implementation "com.android.support:design:28.0.0"
implementation 'com.android.support:palette-v7:28.0.0'
implementation "com.android.support:cardview-v7:28.0.0"
implementation "com.android.support:recyclerview-v7:28.0.0"

//Firebase Dependencies
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-core:16.0.7'
implementation 'com.google.firebase:firebase-firestore:18.0.1'
implementation 'com.google.firebase:firebase-database:16.0.6'
implementation 'com.google.firebase:firebase-storage:16.0.5'
implementation 'com.google.firebase:firebase-ads:17.1.3'
implementation 'com.google.firebase:firebase-messaging:17.3.4'
implementation 'com.google.firebase:firebase-appindexing:17.1.0'
implementation 'com.google.firebase:firebase-ads:17.2.0'

implementation 'com.google.android.gms:play-services-ads:17.2.0'

implementation 'com.artjimlop:altex-image-downloader:0.0.4'
implementation 'com.yalantis:ucrop:2.2.0'

implementation 'com.github.danimahardhika:cafebar:1.3.1'
implementation 'com.github.qiugang:EditTag:v1.2.4-beta2'
implementation 'de.hdodenhof:circleimageview:2.2.0'
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'com.airbnb.android:lottie:2.6.0'
implementation 'com.github.chyrta:AndroidOnboarder:0.7'

//Error Fixer
implementation 'com.android.support:multidex:1.0.3'

implementation 'com.android.support:support-vector-drawable:28.0.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'

Ответы [ 3 ]

0 голосов
/ 11 апреля 2019

Сообщение об ошибке довольно ясно: «Все библиотеки com.android.support должны использовать одну и ту же спецификацию версии».Например, у вас есть это:

implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-core:16.0.7'

Вы пытаетесь собрать 2 разные версии, 16.0.1 и 16.0.7, из одной и той же библиотеки.Это может привести к сбоям во время выполнения.Выберите, какую версию вы хотите сохранить, а другую удалите.Например, если вы хотите версию 16.0.7, замените эти две строки на:

implementation 'com.google.firebase:firebase-core:16.0.7'
0 голосов
/ 12 апреля 2019

Ваши зависимости gradle требуют доработки:

  1. Очистите дублирующиеся зависимости и добавьте каждую строку только один раз!

Строки:

  • implementation 'com.android.support:appcompat-v7:28.0.0'
  • implementation "com.android.support:design:28.0.0"

в два раза.Держите каждый только один раз!

Используйте только одно определение версии каждой библиотеки .Ядро Firebase имеет импорт двух разных версий:
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-core:16.0.7'

Выберите одну из двух строк.

Зависимости ваших зависимостей не должны иметь разные версии. У вас есть много библиотек, использующих другие версии com.android.support компонентов, которые могут вызвать эту ошибку.

Например:

  • 'com.artjimlop:altex-image-downloader:0.0.4' использовать com.android.support:appcompat-v7:23.1.0 см. здесь

  • 'com.yalantis:ucrop:2.2.0' использовать com.android.support:appcompat-v7:24.2.0 см. здесь

  • 'com.github.danimahardhika:cafebar:1.3.1' используйте com.android.support:design и com.android.support:cardview-v7 см. здесь

  • 'com.github.qiugang:EditTag:v1.2.4-beta2' используйте com.android.support:recyclerview-v7 и com.android.support:appcompat-v7 см. здесь

  • и т. д. список можно продолжить почти для всех сторонних библиотек github.

Вы можете использовать следующую конфигурацию для исключения всех этих зависимостей.

configurations {
  all*.exclude module: "appcompat-v7"
  all*.exclude module: "recyclerview-v7"
  all*.exclude module: "design"
  all*.exclude module: "cardview-v7"
  // ... etc in case there are extra dependencies
}

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

т.для 'com.artjimlop:altex-image-downloader:0.0.4' вы должны изменить implementation 'com.artjimlop:altex-image-downloader:0.0.4' на:

implementation ('com.artjimlop:altex-image-downloader:0.0.4') {
   exclude group: 'com.android.support', module: 'appcompat-v7'
   // for more than one just add it in a new line ie.
   // exclude group: '<first part till : symbol>', module: '<second part between : symbol and version>'
}

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

0 голосов
/ 07 апреля 2019

enter image description here

Вы должны видеть красную линию, как это правильно? Наведите указатель мыши на красную линию, и вы увидите диалоговое окно, как это. найдите, какие библиотеки все еще старые (в моем случае это было cardview), добавьте последнюю версию этой библиотеки в gradle, и ваша проблема может быть решена.

Если это не так, то я вижу, что вы используете старые библиотеки Firebase, обновите их до последней версии.

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