Что androidx

Я читаю о библиотека для Android. Я вижу, что они изменили пакет android to androidx. Я этого не понимал. Кто-нибудь объясните пожалуйста.

implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"

даже это доступно с android пакета также.

implementation "android.arch.persistence.room:runtime:$room_version"
annotationProcessor "android.arch.persistence.room:compiler:$room_version"
  • что нужно было упаковывать новые библиотеки поддержки в androidx вместо android.
  • прецедент и факторы влияния в существующих проектах.

2 ответов


на основе документация:

androidx-новая структура пакета, чтобы сделать ее более ясной, какие пакеты в комплекте с операционной системой Android, и которые упакованы АПК приложения. Вперед, андроид.* иерархия пакетов будет зарезервирован для Android пакетов, которые поставляются с операционной система; другие пакеты будут выпущены в новом androidx.* пакет иерархия.

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

существуют библиотеки поддержки (содержащие компонент и пакеты для обратной совместимости) с именем "v7", когда минимальный уровень SDK поддерживается 14, новое именование позволяет понять разделение между API в комплекте с платформой и библиотеками для разработчиков приложений, которые используются на разных версиях android. Вы можете сослаться на официальные объявления для более подробной информации.


AndroidX-Библиотека Расширений Android

С документация AndroidX

мы выпускаем новую структуру пакетов, чтобы было понятнее что пакеты поставляются с операционной системой Android, и упаковано с APK вашего приложения. Вперед, андроид.* пакет иерархия будет зарезервирована для пакетов Android, которые поставляются с операционная система. Другие пакеты будут выпущены в новом androidx.* пакет иерархия как часть библиотеки AndroidX.

потребность AndroidX

com.андроид.поддержка.** : androidx.@
com.андроид.поддержка:совместимости приложений-В7 : androidx.совместимости приложений:совместимости приложений com.андроид.поддержка: recyclerview-v7:androidx.recyclerview:recyclerview com.андроид.поддержка: дизайн: com.гуглить.андроид.материал:материал

AndroidX переработана библиотека, чтобы сделать имена пакетов более ясный. Так что отныне android иерархия будет только для Android классов по умолчанию, который поставляется с операционной системой android. и другие библиотеки/зависимости будут частью androidx. (Больше смысла) так что теперь все новые разработки будут обновлены в androidx.

полное отображение для пакетов AndroidX

AndroidX использует семантико-версии

ранее, support libraryиспользуйте версию SDK, но AndroidX использует Semantic-version. Он будет переиздан с 28.0.0 → 1.0.0.

как перенести текущий проект

в Android Studio 3.2 (сентябрь 2018) есть прямая возможность перенести существующий проект в AndroidX. Это преломляет все пакеты автоматически.

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

использовать с существующими проект

  • Android Studio > меню рефакторинга > миграция на AndroidX...
  • оно будет анализ и раскроет окно рефрактора в дне. Примите изменения, которые необходимо внести.

image

С новым проектом

поместите эти флаги в свой gradle.properties

android.enableJetifier=true
android.useAndroidX=true

проверить @сопоставления библиотеки для просмотра аналогичного пакета AndroidX.

Регистрация @официальная страница миграции на AndroidX

ошибки переноса

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

поддержка 28.0.0-последняя версия?

С Android Поддержка Версии 28.0.0

это будет последний выпуск функции под android.поддержка упаковка, и разработчикам рекомендуется перейти на AndroidX 1.0.0

так что идите с AndroidX, потому что Android будет обновлять только пакет androidx отныне.

далее Чтение

https://developer.android.com/topic/libraries/support-library/androidx-overview

https://android-developers.googleblog.com/2018/05/hello-world-androidx.html