Разработка приложений с помощью AndroidX и Xamarin
AndroidX — это значительно усовершенствованная библиотека поддержки Android, исходная версия которой больше не поддерживается. Пакеты AndroidX полностью заменяют библиотеку поддержки Android, обеспечивая равенство функций и предоставляя новые библиотеки, которые можно использовать в приложениях Android.
AndroidX содержит следующие возможности:
- Все пакеты в AndroidX теперь имеют согласованное пространство имен, начинающееся с androidx . Это означает, что все пакеты библиотеки поддержки Android сопоставляются с соответствующим пакетом androidx.* .
- Пакеты androidx обслуживаются и обновляются отдельно. Это означает, что библиотеки AndroidX можно обновлять независимо друг от друга.
- Начиная с версии 28 библиотека поддержки Android больше не будет выпускаться. Все новые разработки будут включены в androidx .
Требования
Компоненты из следующего списка необходимы для использования возможностей AndroidX в приложениях на основе Xamarin.
- Visual Studio. В Windows выполните обновление до Visual Studio 2019 версии 16.4 или более поздней. В macOS выполните обновление до Visual Studio 2019 для Mac версии 8.4 или более поздней.
- Xamarin.Android. Вместе с Visual Studio нужно установить Xamarin.Android 10.0 или более поздней версии (Xamarin.Android автоматически устанавливается в составе рабочей нагрузки Разработка мобильных приложений на .NET в ОС Windows или в составе установщика Visual Studio для Mac).
- Пакет Java Developer Kit. Для разработки на Xamarin.Android 10.0 требуется JDK 8. Дистрибутив OpenJDK от корпорации Майкрософт автоматически устанавливается в составе Visual Studio.
- Пакет SDK для Android. Необходимо установить пакет SDK для Android (API 28) или более поздней версии с помощью Диспетчера SDK Android.
Начало работы
Вы можете приступить к работе с AndroidX, включив в свой проект Android любой пакет NuGet AndroidX. Подробнее об установке и использовании пакета в Visual Studio и Visual Studio для Mac
Изменения в поведении
AndroidX представляет собой переработанную библиотеку поддержки Android. Она включает этапы миграции, которые повлияют на приложения Android, созданные с помощью библиотеки поддержки Android.
Изменение названий пакетов
Имена старых и новых пакетов отличаются. Ниже приведены примеры этих различий.
| Прежний вариант | Оператор new |
|---|---|
| android.support.** | androidx.@ |
| android.design.** | com.google.android.material.@ |
| android.support.test.** | androidx.test.@ |
| android.arch.** | androidx.@ |
| android.arch.persistence.room.** | androidx.room.@ |
| android.arch.persistence.** | androidx.sqlite.@ |
Дополнительные сведения об именовании пакетов см. в этой документации.
Средства миграции
Миграция состоит из трех этапов, которые нужно учитывать для вашего приложения.
- Если приложение включает пространства имен библиотеки поддержки Android и вы хотите перейти с них на пространства имен AndroidX, для выполнения большинства сценариев с пространствами имен можно использовать средства IDE миграции в AndroidX.
Включите Миграцию AndroidX, выбрав Сервис > Параметры > Xamarin > Android в Visual Studio 2019 (этот шаг можно пропустить на Visual Studio для Mac).

Щелкните проект правой кнопкой мыши и выберите Миграция на AndroidX.

Для сценариев, с которыми это средство не работает, вам нужно будет вручную внести изменения в пространство имен. Правильный пакет сопоставляется автоматически, но мы рекомендуем ознакомиться с официальным сопоставлением артефактов и классов, чтобы упростить миграцию проектов.
- Если приложение включает зависимости, которые не были перенесены в пространство имен AndroidX, необходимо использовать библиотеку поддержки Android для пакета миграции AndroidX.
- Если приложение не содержит зависимостей, требующих миграции в пространство имен AndroidX, вы можете прямо сейчас использовать библиотеки AndroidX в NuGet.
Устранение неполадок
- Некоторые пакеты архитектуры в AndroidX могут конфликтовать с версиями библиотеки поддержки. Чтобы устранить эту проблему, следует использовать версию AndroidX этих пакетов и удалить версию библиотеки поддержки. Например, если вы ссылаетесь в проекте на Xamarin.Android.Arch.Work.Runtime , возникнет конфликт с типами нового добавленного пакета AndroidX.Work .
Сводка
Из этой статьи вы узнали о том, что такое AndroidX, а также об установке и настройке новейших средств и пакетов для разработки приложений Xamarin.Android с помощью AndroidX. Статья содержит общие сведения об AndroidX. В ней содержатся ссылки на документацию по API и разделы для разработчиков Android, которые помогут вам приступить к созданию приложений с помощью AndroidX. В статье также описаны самые важные изменения в поведении AndroidX, которые могут повлиять на существующие приложения, и приведен раздел об устранении неполадок.
Связанные ссылки
- Введение в AndroidX | Xamarin Show
- AndroidX
- Репозиторий Xamarin AndroidX в GitHub
- Репозиторий GitHub для миграции в Xamarin AndroidX
Что такое AndroidX и зачем он?
В окне создания нового проекта появился чекбокс «Use AndroidX artefacts». Почитав об этом в интернете, я в целом так и не понял, что такое AndroidX. Объясните доступным языком, пожалуйста. И нужно ли включать его в новых проектах?
Отслеживать
Сергей Гуков
задан 7 фев 2019 в 19:30
Сергей Гуков Сергей Гуков
800 6 6 серебряных знаков 21 21 бронзовый знак
это то же, что и support library, но с новым названием и немного пересортированный по пакетам. проект еще местами в бете и переходить сейчас на использование вместо старых библиотек поддержки нет никакой острой необходимости
7 фев 2019 в 22:13
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
AndroidX — это новая либа с новым пространством имён на замену support library API.
android.support 28.0.0 будет последним. Все что выше будет доступно только через androidx. Поэтому я бы советовал новые проекты сразу переносить или делать на androidX, а вот то что на продакшн как минимум выделить время и потестить.
Есть хорошие статьи по этому поводу, как крупные проекты мигрировали и допилвали своими скриптами.
Отслеживать
ответ дан 8 фев 2019 в 14:28
Shwarz Andrei Shwarz Andrei
12k 1 1 золотой знак 20 20 серебряных знаков 40 40 бронзовых знаков
- android
- android-studio
- androidx
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Что такое Android Jetpack?
Android Jetpack – это набор библиотек и инструментов, созданный командой Google для упрощения разработки под Android.
Проект Jetpack анонсирован в 2018 году. Jetpack-библиотеки используют пакет androidx.* . Support-библиотеки также стали частью Jetpack.
Библиотеки, входящие в Jetpack логически разделены на четыре вида:
1. Foundation – базовые библиотеки, которые помогают уменьшить бойлерплейт код. Сюда входят AppCompat, Android KTX, Test.
2. Architecture Components – это библиотеки, используемые для построения архитектуры приложения. Среди них LiveData, ViewModel, Room, WorkManager.
3. Behavior – библиотеки-врапперы для функциональности, предоставляемой Android SDK. Созданы для улучшения стандартного Android API: Permissions, Notifications, CameraX.
4. UI – компоненты, помогающие работать с фрагментами, лэйаутами и анимацией. Среди прочих сюда входит Jetpack Compose.
Androidx и Support Library
При разработке приложений для нескольких версий Android наверняка потребуется способ, который позволит использовать новые функции в более ранних версиях. Можно писать код, который будет обрабатывать ранние версии, а можно воспользоваться библиотекой поддержки (support library), которая обеспечивает обратную совместимость. Помимо этого библиотека поддержки предоставляет удобные классы и функции, которые не только упрощают разработку, но и поддерживаются на большом количестве устройств.
Библиотека поддержки была создана достаточно давно (более 9 лет назад). Всё это время она росла, развивалась и в результате стала немного запутанной, в основном из-за имён компонентов и пакетов. Поэтому Google пересмотрели свой подход и решили разграничить библиотеки, которые идут вместе с операционной системой, от библиотек, которые идут отдельно от неё. Таким образом появилось новое пространство имён — androidx, куда были включены библиотеки, не идущие в комплекте с платформой Android, в том числе подобные библиотеки из библиотеки поддержки, а также из архитектурных компонентов.
AndroidX — это значительное улучшение первоначальной библиотеки поддержки, которая больше не поддерживается (последней версией была 28.0.0).
Полезные ссылки
AndroidX Overview — общая информация об androidx в документации.
Support Library — общая информация о библиотеке поддержки. Она устарела и больше не поддерживается, добавлено ради информации.
AndroidX releases — обновления библиотек androidx.
Hello World, AndroidX — анонс библиотеки androidx в блоге Google.
Перечень пакетов и классов, которые включены в пространсво имён androidx.