Ionic: Релизная версия приложения

В данной заметке я расскажу, как подготовить свое приложение для релиза.


Настройки

Первым делом давайте укажем название нашего приложения, информацию об авторе и прочую подобную информацию. Для этого в Visual Studio дважды щелкнем на файл config.xml в обозревателе нашего решения. Нам откроется окно с настройками нашего приложения. Вкладка "Набор инструментов" и "Подключаемые модули" нас не интересует сейчас.

Настройки приложения.

Во вкладке "Общие" мы можем указать название нашего приложения в поле "Отображаемое имя". Название пакета, при необходимости, можно указать в соответвующем поле. Автора и описание приложения можно указать в соответвующих полях, так же как и версию приложения.

На вкладках iOS и Android можно указать ограничения для каких типов устройств и каких версий операционных систем доступно приложение.

Настройки приложения.


Код

Теперь нужно в коде приложения включить production режим. Для это открываем файл src/app/main.ts и добавляем в него следующую строчку:

enableProdMode();

Данную строку важно вставить перед бутстрапингом. Конечный файл должен выглядеть так:

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';

import { AppModule } from './app.module';

enableProdMode();

platformBrowserDynamic().bootstrapModule(AppModule);

Необходимые модули NPM

Для компиляции приложения необходимо доставить необходимые модули. Просто выполните следующие команды:

npm install autoprefixer

Ключ приложения

Необходимо сгенерировать ключ, с помощью которго мы будем подписывать наше приложение. Делается это следующей командой:

keytool -genkey -v -keystore release-key.keystore -alias demoapp -keyalg RSA -keysize 2048 -validity 10000
В команде вместо demoapp необходимо указать свой алиас приложения.

Во время создания ключа будут запрашиваться разные параметры: пароль ключа (придумать свой), имя, город и т.д. Заполняем как нравится. Пароль от ключа и пароль от алиаса для удобства можно сделать одинаковыми. В примере я везде использовал 123456.

Создание ключа.

В результате выполнения данной команды, в папке вашего приложения будет создан ключ-файл release-key.keystore.

Теперь нам необходимо в папке нашего приложения сделать файл build.json где указать наш сгенерированный ключ с данными, которые использовались при генерации. В итоге файл должен выглядеть так:

{
 "android": {
     "release": {
         "keystore":"C:\\IonicProjects\\demo-app1\\demo-app1\\release-key.keystore",
         "storePassword":"123456",
         "alias":"demoapp",
         "password":"123456",
         "keystoreType":""
       }
   }
}
Прописывание ключа.

Android

Компиляция apk файла для Android самое простое, что может быть. Делается это одной командой:

ionic cordova build android --prod --release

Красной линией подчеркнут путь к apk файлу.

Процесс может занять несколько минут. В результате постройки файла, в командном окне будет указан путь к apk файлу, который можно загрузить в устройство по USB и установить, или дать кому-нибудь, или отправить в Google Play Market.

iOS

Тут для адептов Windows начинается адский ад. Построить приложение под iOS возможно только:

Первые два пункта подразумевают установку NodeJS, Ionic на MacOS и запуск в папке проекта команды:

ionic cordova build ios --prod --release

Соответственно после успешной компиляции так же будет отображен путь к файлу, который надо загружать в AppStore.

А вот что касается Ionic Package. Это штука от самого Ionic которая в целом позволяет управлять своим приложением для всех платформ. Загружать обновления, или откатывать версии назад. Раньше я рассказывал о процессе загрузки нашего приложения в репозиторий Ionic. Так вот Ionic Package позволяет из этого репозитория через веб интерфейс сформировать нужный файл приложения для нужной платформы и скачать его.

Ionic Package.

Раньше, при переходе на тариф, который позволяет использовать Ionic Package давали 100 сборок бесплатно в месяц, как сейчас - не знаю.


Вот так происходит компиляция приложения на две платформы. В следующей заметке поговорим как менять иконку приложения, заставку и вообще, как можно тюнинговать приложение для оптимального запуска.