Установка и настройка Flutter в Ubuntu 16.04+
Перво-наперво: установим Flutter через snap store. Если вы используете Ubuntu 16.04 и более поздние версии, вероятно, у вас уже установлена команда snap
; в противном случае вы можете следовать инструкциям, доступным для вашего дистрибутива в разделе «Установка Snap Store в вашем дистрибутиве Linux» на этой странице.
С доступной командой snap
установите Flutter:
sudo snap install flutter --classic
После завершения установки Flutter запустите базовую проверку, которая также выполнит некоторую автоматическую настройку:
flutter doctor -v
Flutter установлен!
Установка и настройка Java
Прежде всего, нам нужно получить (поддерживаемый сообществом) Open Java Development Kit, прежде чем мы сможем использовать Android Studio. Чтобы получить последнюю стабильную версию Java 8 (другие версии могут иногда показывать некоторые непредсказуемые проблемы при работе с Flutter с мая 2021 года, поэтому я рекомендую установить OpenJDK 8; не волнуйтесь, OpenJDK 8 настроен на поддержку по крайней мере до 2024 года), откройте свой терминал и запустите:
sudo apt-get update && sudo apt-get install openjdk-8-jdk
После успешной установки пришло время установить $JAVA_HOME
переменную среды $JAVA_HOME
, используемую по умолчанию многими приложениями, которые взаимодействуют с вашей локальной установкой Java, в том числе Android Studio. Получите список установленных JDK в вашей системе:
sudo update-alternatives --config java
Выберите из списка локально установленных версий (помните, что Java 8 проще всего использовать с Flutter) ту, которую вы хотите использовать в системе по умолчанию, и установите в ее путь $JAVA_HOME
, без включения части /bin
в путь (в моем случае например, правильный путь был /usr/lib/jvm/java-8-openjdk-amd64
):
#JAVA_HOME=<your_java_installation_path>, same as below if you followed instructions
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64" # my local path after installing openjdk-8
echo "JAVA_HOME=\"$JAVA_HOME\"" >> ~/.bashrc # sets JAVA_HOME env var for current user
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> .zshrc # adds java's binaries to your path
source ~/.bashrc && echo $JAVA_HOME # verifies that the variable was perenially set
Установка и настройка Android Studio для работы с Flutter
Загрузите Android Studio здесь.
После завершения загрузки извлеките пакет Android Studio в каталог /usr/local/
:
sudo tar -C /usr/local -zxvf ~/Downloads/<android_studio_package>.tar.gz
После успешного извлечения запустите установочный скрипт Android Studio:
bash /usr/local/android-studio/bin/studio.sh
Должен появиться мастер установки. Следуйте инструкциям мастера для стандартной установки, и в конечном итоге вы должны перейти к стартовому экрану. Выберите Конфигурации в правом нижнем углу и нажмите «Плагины»:
Установите официальный плагин "Flutter", опубликованный flutter.dev:
Вам будет предложено установить плагин Dart (базовый язык программирования Flutter), прежде чем продолжить. Нажмите «ОК» и перезапустите Android Studio IDE. Теперь должна быть видна опция запуска проекта Flutter; щелкните по нему, затем выберите «Приложение Flutter» и нажмите «Далее».
Вас должен приветствовать экран конфигурации проекта. Сконфигурируйте имя, расположение и описание вашего проекта по своему усмотрению и укажите в поле «Flutter SDK» /home/<your_user_name>/snap/flutter/common/flutter
:
Если указанный выше путь недоступен, откройте терминал и запустите:
flutter doctor -v
Затем вы должны увидеть начальный экран проекта:
Почти готово, теперь вам нужно принять лицензии Android и дважды проверить право собственности на вашу установку Flutter, чтобы в будущем избежать неожиданных ошибок сборки из-за отказа в ресурсах для Android Studio. Откройте свой терминал и запустите:
flutter doctor --android-licenses # accept Google's licenses, necessary to build the app
sudo chown -R $USER:$USER /home/$USER/snap/flutter # confirm you are the owner of local flutter
Теперь Android Studio наконец-то настроена для запуска проектов Flutter.
Вы также должны включить Desktop Entry для Android Studio. На экране вашего проекта нажмите «Инструменты», затем «Создать запись на рабочем столе»:
Ярлык Android Studio теперь должен быть доступен в меню «Действия».
Включение аппаратной виртуализации для эмулятора Android
Чтобы запустить эмулятор, мы должны сначала настроить возможности аппаратной виртуализации вашего процессора.
Запустите kvm-ok
на своем терминале, и ваш вывод должен указать, можно ли использовать ускорение KVM или нет (виртуальная машина ядра, в двух словах, это мост между ядром и виртуальными устройствами, который позволяет виртуальному устройству эмулировать свое собственное оборудование непосредственно с оборудования хост-компьютера); если у вас процессор AMD или Intel, скорее всего, может.
Если вы действительно можете использовать ускорение KVM, пора настроить KVM и авторизовать для текущего пользователя:
sudo apt update # update repositories
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils # base packages
sudo addgroup kvm && sudo addgroup libvirtd # create user authorization groups
sudo adduser $USER kvm && sudo adduser $USER libvirtd # add current user to auth groups
sudo virsh -c qemu:///system list # checks if virtualization is ok
# if everything went fine, your output will be something like:
#
# Id Name State
#----------------------------------------------------
Перезапустите сеанс пользователя. В компьютере, а не только в терминале. Выйдите из системы, а затем войдите в систему или перезагрузите компьютер, я буду ждать.
Использование эмулятора Android для тестирования приложений
Теперь откройте проект Android Studio и щелкните параметр «AVD Manager» (виртуальное устройство Android), расположенный в правом верхнем углу окна:
Нажмите кнопку «Создать виртуальное устройство», и должно появиться окно со списком устройств с предварительно выбранной категорией «Телефон»; Я рекомендую вам выбрать устройство с включенным Play Store на тот случай, если вы захотите использовать его позже на своем эмулируемом устройстве. У меня был Nexus 5.
Нажмите кнопку «Далее», и появится список образов системы (версии ОС Android):
Во-первых, загрузите целевое изображение (просто нажав кнопку "Загрузить" рядом с названием выпуска), выберите локально загруженное изображение и нажмите кнопку "Далее", которая должна быть выделена только после успешной загрузки изображения.
Затем появится окно, предлагающее вам настроить свойства вашего виртуального устройства, такие как ориентация экрана при запуске, использование ОЗУ и т. д. Настройте устройство в соответствии с вашими возможностями, если хотите, в противном случае вы можете безопасно нажать на «Готово».
Если все пойдет хорошо, вы должны увидеть свое устройство в списке в окне диспетчера виртуальных устройств Android:
Вернитесь в представление проекта Android Studio; В той же строке, где находится кнопка «AVD Manager», слева от «main.dart» находится раскрывающийся список доступных устройств. Выберите эмулятор, который вы только что настроили, и нажмите зеленую кнопку воспроизведения справа от main.dart. Если эмулятора там еще нет, откройте окно AVD Manager еще раз и нажмите зеленую кнопку воспроизведения под меткой «действия», указанной для вашего виртуального устройства, чтобы загрузить и открыть эмулятор перед запуском кода Flutter.
Обратите внимание на ленту «отладка» в правом верхнем углу? Если вы хотите избавиться от него, добавьте debugShowCheckedModeBanner: false
в качестве поля MaterialApp
.
Использование физического устройства Android для тестирования приложений
Вам потребуется локальная установка Android Debug Bridge, чтобы ваш компьютер мог обмениваться информацией (например, сборками APK) с любыми подключенными устройствами Android, виртуальными или другими.
ADB состоит из клиента (интерфейс, из которого вы запускаете команды, который будет двоичным файлом ADB, установленным на вашем компьютере для всех целей этого руководства), службы (которая выполняет на устройстве Android команды, изначально отправленные от клиента) и сервер (который работает локально на ПК, который имеет место прослушивания по умолчанию в tcp: // localhost: 5037, и является промежуточным звеном между клиентом и службой).
Очень удобно, что Android Studio в настоящее время поставляется с ADB, поэтому, если вы следовали приведенным выше инструкциям по установке Android Studio, он уже есть на вашем компьютере. Можно установить ADB из репозиториев Ubuntu вместе с репозиторием в Android Studio, но это вызывает головную боль, если ваш компьютер в конечном итоге сбивает с толку локально установленные версии, поэтому вместо этого давайте настроим нашего пользователя linux для доступа к ADB Android Studio, а затем запустим ADB:
echo 'export PATH=$PATH:$HOME"/Android/Sdk/platform-tools"' >> .bashrc # adds adb to path
adb start-server # launches adb server
adb devices # lists connected devices
После запуска adb devices
у вас, скорее всего, возникла ошибка. Эта ошибка зарегистрировала переменную $LOGNAME
, которая содержит текущее имя пользователя, вы будете использовать ее, чтобы вставить своего пользователя в группу plugdev
, если вы еще не там. У вас также, скорее всего, нет свода правил udev
для андроид-устройств; файлы правил UDEV определяют взаимодействия Ubuntu с подключенными устройствами, и Ubuntu откажется выполнять определенные взаимодействия с вашим устройством Android, если это предварительно не разрешено в файле правил UDEV. Итак, исправим ошибки:
# add user to plugdev group
sudo usermod -aG plugdev $LOGNAME
# downloads a very thorough UDEV rules file into the appropriate directory
sudo wget -O /etc/udev/rules.d/51-android.rules https://raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/android/51-android.rules
# gives reading permission to the UDEV android file
sudo chmod a+r /etc/udev/rules.d/51-android.rules
Перезагрузите текущий пользовательский сеанс Linux, чтобы применить эти изменения, затем откройте терминал и запустите adb devices
снова. Если у вас все еще есть ошибка, связанная с UDEV, вероятно, идентификатор производителя вашего устройства не указан в /etc/udev/rules.d/51-android.rules
; в этом случае поищите в Интернете идентификатор UDEV производителя вашего устройства и вручную добавьте его в список правил в том же формате, что и другие. Обратите внимание, что среди строк есть единственное поле с уникальным значением ATTR{idVendor}
. Если вы не получите никаких сообщений об ошибках, вы заметите, что ваше устройство указано как «неавторизованное». Разблокируем устройство для отладки по USB.
Разблокировка режима разработчика и отладка по USB
На вашем устройстве Android откройте «Настройки», затем «О телефоне»; нажмите свой «Номер сборки» 5–6 раз, пока не появится тост с надписью «Теперь вы разработчик!»
Вернитесь в «Настройки», откройте «Система», вы должны увидеть, что «Параметры разработчика» разблокированы.
Коснитесь этой новой записи, отметьте «Отладка по USB» под разделом «Отладка».
Подключите устройство Android к компьютеру через USB, затем запустите adb devices
на своем терминале. В выводе должно быть указано ваше устройство, а также указано, что оно разблокировано для отладки. Теперь вернитесь в Android Studio, щелкните раскрывающийся список устройств (тот, в котором вы выбрали свое виртуальное устройство ранее), и ваше физическое устройство должно появиться в списке, выберите его. Нажмите кнопку «Выполнить», и вы должны увидеть приложение на своем устройстве, готовое к взаимодействию.
Поздравляю! Теперь вы разработчик Flutter.