Перенос поддержки на Android X: совместимы ли версии между модулями? - PullRequest
0 голосов
/ 04 мая 2019

Я переношу большой проект на AndroidX.

В моем предыдущем проекте, в верхней части build.gradle, я определил переменную с версией библиотеки поддержки, чтобы 30+ дочерних build.gradleвключите нужную версию поддержки:

ext {
    supportLibraryVersion = "28.0.0"
    buildToolsVersion = "28.0.3"
    googleServicesVersion = "15.0.0"
}

Мой вопрос: теперь, когда я запустил рефакторинг Android X, я вижу, что зависимости были преобразованы в разные пакеты в пространстве имен Android X и даже выровненыоб этом :

    implementation "androidx.appcompat:appcompat:1.0.0'
    implementation "androidx.percentlayout:percentlayout:1.0.0"
    implementation 'androidx.palette:palette:1.0.0'
   implementation 'com.google.android.material:material:1.0.0'

Мой вопрос: если теперь с Android X все версии модулей синхронизированы, так что имеет смысл делать в верхнем граде:

ext {
    androidXLibraryVersion = "x.x.x"
}

Я думаю,что модули вне пространства имен Android X будут иметь собственное расписание версий, но я даже не уверен, что модули в пространстве имен AndroidX будут использовать общие версии.

Как вы думаете?

1 Ответ

2 голосов
/ 04 мая 2019

В мире AndroidX каждая группа (то есть часть перед первым :, например androidx.appcompat) может иметь отдельную версию в соответствии с Обзор AndroidX :

В отличие от библиотеки поддержки, пакеты AndroidX поддерживаются и обновляются отдельно. Пакеты androidx используют строгое семантическое управление версиями , начиная с версии 1.0.0. Вы можете самостоятельно обновлять библиотеки AndroidX в своем проекте.

Как видно на странице релизов AndroidX , они абсолютно обновляются с разной скоростью, но семантическое управление версиями гарантирует, что стабильные версии библиотек будут продолжать работать вместе.

...