5/5 (2) Публикация приложения Flutter для Android в Google Play

Для сборки и публикация приложения в Google Play нам необходимы, в первую очередь, система Windows и родная среда сборки и разработки Android Studio для Android и Visual Code с плагином для Flutter. Ну, будем пользоваться bash terminal-ом в Visual Code.В данной статье используется система Windows, но подойдет и любая другая, которая находится в списке возможных инсталлируемых по ссылке.

Установка и настройка Flutter

Для устанвоки и настройки Flutter можно воспользовтаься официальной документацией для Windows по ссылке. Тут покажем основные шаги

  1. Скачиваем последний архив SDK по ссылке
  2. Извлеките zip-файл и поместите содержащийся в нем файл flutter в нужное место установки Flutter SDK (например, C:\Users\<ваше-имя-пользователя>\Documents).

Предупреждение: не устанавливайте Flutter в такой каталог, как C:\Program Files\, для которого требуются повышенные привилегии.

Если вы не хотите устанавливать фиксированную версию пакета установки, вы можете пропустить шаги 1 и 2. Вместо этого получите исходный код из репозитория Flutter на GitHub и при необходимости измените ветки или теги. Например:

$ git clone https://github.com/flutter/flutter.git -b stable

3. После этого указываем в PATH путь к бианрнику Flutter из папки SDK.

В строке поиска «Пуск» введите «env» и выберите «Изменить переменные среды» для своей учетной записи. В разделе «Пользовательские переменные» проверьте, есть ли запись с именем «Path»:

  • если запись существует, добавьте полный путь к flutter\bin, используя ; как разделитель от существующих значений.
  • если запись не существует, создайте новую пользовательскую переменную с именем Path с полным путем к flutter\bin в качестве значения.

4. Делаем проверку

$ flutter doctor

Данная команда выведет всю информацию о наличии и потребностях в сторонних ПО.

Но для нас самое гславное, чтобы пункты Android toolchain и Android Studio былы актуальным, т.е., чтобы он был установлен заранее

Проверка системы

Генерация ключей

В отличии от iOS для публикации Android приложения необходимо самому подписывать приложение, хотя есть втоподписка при помощи Android StudioНо, чтобы наглядно с этим познакомиться, на мой взгляд, лучще самому сгенерировать ключ и подписать приложение не прибегая к Android Studio. Чтобы подробно ознакомиться с эатапами подписки есть хорошая статься от Flutter, в котором подробно описаны все инструкции.

Если кратко, то нам необходим инструмент генерации keytool, который входит в JDK и в командной строке bash выполняем команду

$ keytool -genkey -v -keystore c:\Users\USER_NAME\upload-keystore.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias upload

далее командная строка запросит ваши данные и данные организации. Можно их заполнять, а можно не заполнять и в конце потребует задать пароль. Запоминаем пароль и место, где хранится сгенерированный файл с расширением *.jks.Файл ключей пожно перемешать и хранить где угодно, но очень важно не потерять, иначе невозможно будет обновлять новые версии приложения с одним и тем же идентификатором и потребуется заново генерировать и опубликовать, как новое приложение.

Далее создаем файл с именем [project]/android/key.properties, содержащий ссылку на ваше хранилище ключей

storePassword=<пароль к ключам>
keyPassword=<пароль к ключам>
keyAlias=upload
storeFile=c:\\Users\\USER_NAME\\upload-keystore.jks

важно, чтобы этот файл был добавлен в .gitignore, чтобы данные не попали в ненужные руки.

Настройте Gradle для использования вашего ключа загрузки при создании приложения в режиме выпуска, отредактировав файл [project]/android/app/build.gradle

Добавьте информацию о хранилище ключей из файла свойств перед блоком android:

   def keystoreProperties = new Properties()
   def keystorePropertiesFile = rootProject.file('key.properties')
   if (keystorePropertiesFile.exists()) {
       keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
   }

   android {
         ...
   }

Найдите блок buildTypes

   buildTypes {
       release {
           // TODO: Add your own signing config for the release build.
           // Signing with the debug keys for now,
           // so `flutter run --release` works.
           signingConfig signingConfigs.debug
       }
   }

И замените его следующей информацией о конфигурации подписи:

   signingConfigs {
       release {
           keyAlias keystoreProperties['keyAlias']
           keyPassword keystoreProperties['keyPassword']
           storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
           storePassword keystoreProperties['storePassword']
       }
   }
   buildTypes {
       release {
           signingConfig signingConfigs.release
       }
   }

Релизные сборки вашего приложения теперь будут подписываться автоматически из командной строки и даже из Android Studio.Примечание. Возможно, вам придется запустить flutter clean после изменения файла gradle. Это предотвращает влияние кэшированных сборок на процесс подписания.

Построение подписанного бандла

Для сборки подписанного и оптимизированного проекта Android нужно выполнить команду

$ flutter build appbundle

Данная команда в итоге подпишет и выложит результат сборки в папку [проект flutter]\build\app\outputs\bundle\release\app-release.aab, который далее нужно уже загрузить в магазин Google Play для заране еоформленного проекта во вкладке Рабочая версия , нажав на кнопку Создать новый выпуск, если проект уже размещен или просто выбрав собранный релиз, если предполагается первый выпуск

Выпуск новой версии

Пожалуйста, оцените материал

WebSofter

Web - технологии