Егор Долгов
Егор Долгов
(обновлено )
За все время: 2729 просмотров, 502 посетителя.
За последние 30 дней: 4 просмотра, 3 посетителя.

Migrating to AndroidX / Переход на AndroidX

Если вы столкнулись с тем что новые пакеты Flutter требуют поддержки AndroidX, например geolocator ^5.0.0, то для их использования придется совершить этот переход.

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

Источник https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility, здесь описано два подхода по переходу к AndroidX:
1. Автоматическими средствами IDE Android Studio (рекомендуемый способ) - рассмотрим его ниже;
2. Ручной (не рекомендуется).
Так же по ссылке есть дополнительная информация и рекомендации.

Источник по переходу к AndroidX в Android Studio и другая информация... https://developer.android.com/jetpack/androidx/migrate

Перевод Flutter приложения на AndroidX в автоматическом режиме с помощью Android Studio

Необходима версия Android Studio 3.2 или более новая.
Нужно открыть Android проект внутри Flutter проекта.
На скриншоте ниже - директория android во Flutter проекте.

Если вы работаете в Android Studio с Flutter проектом, то можете это сделать - нажатием правой кнопки на директорию android и в контекстном меню выбрать: Flutter > Open Android module in Android Studio.

Откроем в новом окне (New Window), чтобы потом вернуться к нашему Flutter проекту.

После того как откроется новое окно, Android Studio произведет все процессы по инициализации проекта, в основном контекстном меню выбираем Refactor > Migrate to AndroidX...

Для восстановления, в случае если вам не подойдет AndroidX, IDE предлагает сделать резервную копию изменяемых файлов. Нажимаем Migrate.

IDE проверяет какие ссылки должны быть изменены, соглашаемся и нажимаем Do Refactor.

Ждем пока IDE завершит все процессы.

Можно проверить что изменился файл android/gradle.properties, в нем должны появится строки:

При переходе к AndroidX может измениться версия gradle, что приведет к долгой сборке вашего приложения. Но такая задержка разовая - в это время происходит загрузка нужной версии gradle из интернета.

Все готово, теперь можно запустить сборку Flutter приложения!

Подборка заметок