Что 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
мы выпускаем новую структуру пакетов, чтобы было понятнее что пакеты поставляются с операционной системой 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...
- оно будет анализ и раскроет окно рефрактора в дне. Примите изменения, которые необходимо внести.
С новым проектом
поместите эти флаги в свой 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