Какая команда нужна для создания приложения
Можно ли использовать HTML, CSS и JavaScript для создания десктопных приложений?
В этой статье мы сосредоточимся в основном на том, как Electron можно использовать для создания десктопных приложений с использованием веб-технологий.
Electron может быть использован для создания десктопных приложений, также эти приложения будут мультиплатформенными — Windows, Mac, Linux и другие.
Electron объединяет Chromium и Node.js в одну среду исполнения. Это позволяет нам запускать код HTML, CSS и JavaScript в виде десктопного приложения.
Если Electron используется напрямую, то перед сборкой приложения потребуется определённая ручная настройка. Также, если вы хотите использовать Angular, React, Vue или любой другой фреймворк или библиотеку, вам нужна будет ручная настройка.
Electron Forge значительно упрощает все вышеперечисленное.
Он предоставляет шаблонные приложения с Angular, React, Vue и другими фреймворками, что позволяет избежать дополнительных танцев с бубном.
Также он обеспечивает простоту сборки и упаковки приложения. В нём есть множество других функций, которые можно найти в документации.
Убедитесь, что у вас установлен Node.js. Если нет, то его можно скачать отсюда. Установите Electron Forge глобально, используя следующую команду:
Используйте следующую команду для создания вашего приложения:
simple-desktop-app-electronicjs — это название приложения.
Потребуется некоторое время, чтобы команда, указанная выше, отработала. После завершения предыдущего процесса запустите приложение с помощью следующих команд:
Это должно открыть окно как на скрине ниже:
Приложение имеет определенную структуру папок. Здесь я перечислю некоторые важные моменты в этой структуре папок.
package.json
Содержит информацию о приложении, которое вы создаете, все зависимости, необходимые для приложения, и несколько скриптов. Некоторые из скриптов уже предварительно настроены, но вы также можете добавлять новые.
Путь config.forge содержит все конфигурации конкретно для Electron. Например, make-target используется для указания целевых файлов для различных платформ, таких как Windows, Mac или Linux.
Также в package.json есть "main": "src/index.js" , который указывает, что src/index.js является входной точкой приложения.
src/index.js
Согласно package.json , index.js является основным скриптом. Процесс, который запускает основной скрипт, называется главным процессом. Таким образом, основной процесс запускает скрипт index.js .
Основной процесс нужен для отображения элементов интерфейса. Это делается путем создания страниц. Каждая созданная страница выполняется в процессе, называемом процессом отрисовки.
Главный процесс и процесс отрисовки
Основное предназначение главного процесса — создание страниц с помощью экземпляра BrowserWindow . Экземпляр BrowserWindow использует процесс отрисовки для запуска каждой страницы.
Любое приложение может иметь только один главный процесс, но много процессов визуализации.
Также возможно взаимодействие между главным процессом и процессом отрисовки. Однако, я не буду останавливаться на этом в текущей статье.
abcd.html показан в качестве второй веб-страницы в приведенной выше архитектуре. Но в нашем коде у нас не будет второй веб-страницы.
src/index.html
index.js загружает файл index.html в новый экземпляр BrowserWindow .
Код в index.js с пояснениями
Большая часть кода, созданного в index.js , содержит хорошие комментарии, объясняющие, что происходит. Здесь я упомяну несколько ключевых моментов, которые следует отметить в index.js :
Приведенный выше фрагмент кода просто создает экземпляр BrowserWindow и загружает index.html в BrowserWindow . Вы увидите, что app часто используется в коде. Например, возьмите приведенный ниже фрагмент:
app используется для управления жизненным циклом событий приложения. Приведенный выше фрагмент кода говорит, что, когда приложение будет готово, нужно загрузить первое окно.
Точно так же app может использоваться для выполнения других действий с различными событиями. Например, его можно использовать для выполнения некоторых действий непосредственно перед закрытием приложения и так далее.
Давайте воспользуемся тем же приложением, которое мы создали ранее, и немного изменим его, чтобы создать приложение конвертера температуры.
Сначала давайте установим Bootstrap с помощью следующей команды:
Скопируйте следующий код в src/index.html:
Приведенный выше код выполняет следующие действия:
- Создаёт поле ввода текста с id="celcius" . Всякий раз, когда в это поле что-то вводится, вызывается функция celciusToFahrenheit() .
- Создаёт поле ввода текста с id="fahrenheit" . Всякий раз, когда в это поле что-то вводится, вызывается функция fahrenheitToCelcius() .
- Когда в поле ввода «По Цельсию» вводится значение, в поле «По Фаренгейту» показывается та же температура, но в Фаренгейтах.
- Когда в поле ввода «По Фаренгейту» вводится значение, в поле «По Цельсию» показывается та же температура, но в Цельсиях.
2 функции, которые выполняют преобразование температуры, будут храниться в renderer.js .
Создайте файл с именем renderer.js внутри src . Скопируйте в него следующий код:
Функция celciusToFahrenheit() считывает значение в текстовом поле «По Цельсию», преобразует его в градусы Фаренгейта и записывает новую температуру в текстовое поле «По Фаренгейту».
Функция fahrenheitToCelcius() делает ровно наоборот.
Запустите приложение, используя следующую команду:
Должно открыться следующее окно. Попробуйте ввести разные значения в инпуты.
Команда для упаковки приложения:
Выполнение этой команды потребует некоторого времени. Как только выполнение закончится, проверьте папку out в папке проекта.
Я проверил это на машине c Windows. Была создана папка с именем simple-desktop-app-Electronjs-win32-x64 внутри папки out .
Таким образом, в папке out/simple-desktop-app-Electronjs-win32-x64 команда создала файл .exe для этого приложения. Нажатие на исполняемый файл автоматически запускает десктопное приложение.
При создании приложения на macOS, папка внутри out называется simple-desktop-app-Electronjs-darwin-x64 и создаётся файл .app , который работает точно так же, прим. переводчика.
Имя папки simple-desktop-app-electronicjs-win32-x64 может быть разделено на имя-платформа-архетиктура , где
- имя — simple-desktop-app-electronjs
- платформа — win32 (darwinна macOS)
- архетиктура — x64
Когда вы запускаете команду без каких-либо параметров, по умолчанию она упаковывает пакеты для платформы, на которой вы разрабатываете.
Допустим, мы хотим пакет для другой платформы и архитектуры. Тогда вы можете использовать следующий синтаксис:
Например, чтобы упаковать приложение для Linux, вы можете использовать следующую команду:
Это создаст папку с именем simple-desktop-app-electronicjs-linux-x64 внутри папки out .
Чтобы создать файл make или установщик для приложения, используйте следующую команду:
Потребуется некоторое время на выполнение этой команды. Как только процесс закончится, проверьте папку out в папке проекта.
В папке out/make будет создан установщик Windows для десктопного приложения (или ZIP-архив на macOS).
Когда вы запускаете эту команду без каких-либо параметров, по умолчанию она создает установщик для платформы, которую вы используете для разработки.
Давайте вначале разберемся, что такое стартап и чем он отличается от других компаний:
Стартап — это новый бизнес-проект, в основе которого лежит инновационная идея или необычное применение уже существующей технологии.
Например, сделать клиентское приложение для записи на одну автомойку — это не стартап. Но вот если создать приложение-агрегатор, где регистрируются автомойки, а клиенты выбирают подходящее предложение и бронируют услуги — это уже стартап.
Дальше расскажем, по каким критериям нужно выбирать команду разработки приложения для стартапа.
1. Способность к генерации идей
Команда разработки «варится» в IT-сфере не первый год, тогда как для вас, Заказчика, это все может быть в новинку. Вы не всегда в курсе того, что уже есть на рынке, какие «фишки» сейчас используются в приложениях и т. п. Поэтому идеи со стороны команды по улучшению функционала или подсказки по упрощению взаимодействия для пользователя, будут очень полезны.
Как проверить навык: Обычно, уже в начале общения видно, насколько команда вникает в задачу, делится ли своими идеями и предложениями.
2. Умение найти альтернативные решения
Бывает и такое: вы придумали сценарий работы своего уникального приложения, возможно, оно даже включает ноу-хау решение, которого еще не было на рынке. Вы воодушевлены своей идеей, рассказываете ее разработчикам, а они отвечают, что реализовать не получится, так как технологии не способны воплотить ее в приложении. Что же делать Заказчику, возвращаться домой и забыть навсегда свою идею? Конечно же нет.
Важным качеством для команды разработки является умение придумать и предложить альтернативные варианты реализации: «Вот так не получится сделать, но мы уже придумали другой решение, и на всякий случай подготовили план B и C». Для этого команда должна обладать необходимой квалификацией и постоянно обучаться.
Как проверить навык: Обратите внимание на то, как долго работает команда, сколько проектов уже разработано. Информацией про обучение и повышение квалификации компании обычно с радостью делятся в социальных сетях.
У нас был подобный случай при разработке приложения для стартапа Vicard:
Заказчик пришел с идеей сделать быстрый обмен электронными визитками по NFC. То есть человек сможет передавать визитную карточку точно так же, как при оплате смартфоном вы передаете денежные средства за секунду: просто поднеся его к терминалу.
«Звучит круто!» — подумали мы. «А что так можно было?»
Ответ: не совсем. Устройства на iOS принимают данные по NFC, но не могут их передать. Поэтому придумали несколько альтернативных вариантов работы приложения. В том числе, использовать Bluetooth вместо NFC. Но и он имел свои минусы.
3. Готовность к постоянно меняющимся требованиям
Разработка приложения для стартапа предполагает постоянные изменения задачи: возникают новые идеи или меняются требования. Поэтому здесь особенно важно, чтобы команда работала по гибкой методологии.
Не нужно пытаться зафиксировать в договоре общий объем и стоимость работ. Так вы сами себе создадите трудности. Ведь фиксирование работы означает и фиксирование функционала. Если в процессе разработки приложения вы решите что-то изменить, то не сможете этого сделать, так как, согласно договору, придется ждать завершения работ.
Формально разработчики будут правы, потому что они выполнили свои обязательства. Но это не гарантирует, что вы получите тот продукт, который хотели.
Как проверить навык: Спросите у команды по какой методологии они работают. Вся схема разработки, обычно, обсуждается перед подписанием договора.
4. Способность отделить важное от неважного
Не нужно забывать, что быстрый запуск, особенно для стартапа, — важная вещь, ведь конкуренты не дремлют. Чем скорее будет создана и выпущена первая версия продукта, тем быстрее получится собрать обратную связь и подкорректировать работу сервиса. Для этого как раз таки и нужно MVP.
Заказчик не всегда может самостоятельно выбрать, какие функции обязательно нужно реализовать сейчас, а что оставить на будущее. Все кажется важным и крайне необходимым для пользователя. Грамотный менеджер проекта поможет составить план разработки и подробно распишет, что и на каком этапе будет реализовано.
Как проверить навык: Спросите, как быстро разработчики смогут выпустить приложение с определенным набором функционала.
Вывод
Наличие этих навыков у разработчиков, несомненно большой плюс для Заказчика стартапа. Однако, не ограничивайтесь одной лишь проверкой при беседе. Загляните в портфолио потенциального исполнителя, изучите примеры реализованных приложений.
Тенденции рынка
Тенденции рынка мобильных устройств таковы, что основной объем продаж приходится на технику на базе Android – до 80% от всех продаж. Достигается это преимущественно за счет того, что в этом сегменте много экономвариантов и их продвижением занимается сразу множество компаний. Доля рынка Apple намного скромнее относительно всех компаний, использующих операционную систему Android, и намного больше каждой из этих компаний в отдельности.
Наглядная статистика
Подготовка
С чего начать подготовку? Прежде, чем заняться поиском исполнителя, необходимо самостоятельно провести некоторый объем работы и определить цель создания приложения. Это важный этап, на котором можно значительно изменить первоначальную бизнес идею, или даже вовсе от нее отказаться.
Если предполагается продажа программы на открытом рынке, в первую очередь необходимо определиться, какие потребности пользователя она будет удовлетворять и на каком из рынков стартует.
Весь рынок мобильных гаджетов можно условно разделить на две ведущие платформы: Android и IOS. Тут все относительно просто:
- Устройств на базе Android значительно больше, чем на базе конкурентов, но платежеспособность пользователей этих устройств относительно низкая;
- Устройства на базе IOS продаются в меньших объемах и значительная их часть в России приходится на Питер, Москву и московскую область.
После выбора целевого потребителя, необходимо определиться, какую проблему будет решать ваша программа и на каком конкретном гаджете. А решение этого вопроса напрямую зависит от того, как пользователи используют то либо иное устройство:
- Смартфон у человека постоянно под рукой, он сопровождает его весь день, соответственно, это влияет на возможный спектр проблем, решение которых можно реализовать на этом гаджете. Из минусов небольшой экран, на котором трудно расположить большое количество элементов в удобном порядке.
- Планшеты предпочтительно используются в домашней обстановке, или в длительном пути (поезд, самолет). Их экраны намного больше экранов смартфонов, за счет чего ими удобнее пользоваться. А плюсом для разработчиков – на большом экране легче разместить весь функционал.
Цена разработки: самостоятельно vs заказ у фрилансеров
Точную сумму всех расходов по созданию приложения сразу не сможет назвать ни одна команда разработчиков. В лучшем случае примерную, если в ближайшие годы копания уже выполняла подобные заказы. Во-первых, у рынка высокая динамика различных изменений, что влияет на цены. А во-вторых, для точного определения стоимости необходимо согласовать все детали проекта и составить по ним смету.
Выберите одну ведущую операционную систему, под которую продукт будет написан. Это позволит уменьшить расходы минимум в два раза.
Можно написать программу и самостоятельно, если вы обладаете необходимыми навыками. Но, там где вы сэкономите деньги, вы потратите свое время. Обычно в таких случаях рассчитывается сколько стоит ваш личный час работы, и, исходя из этого, можно сделать вывод насколько это будет вам выгодно.
Бесплатные способы создать приложение
Если вы хотите самостоятельно выполнить проект и не тратить на это больших средств, вам могут помочь конструкторы приложений. Это относительно новые сервисы, которые помогают сделать несложную программу.
Совсем бесплатным этот способ не назвать – заплатить всё-таки придется. Но это будет в разы дешевле, чем заказывать работу у профессиональной команды разработчиков.
Конструкторы могут в автоматическом режиме сделать мобильную копию вашего сайта или блога в форме клиента для него, или предоставляют базу, в которой можно самостоятельно собрать приложение для мобильных телефонов из готовых элементов.
Такие сервисы предлагают гибридные и нативные решения. Впоследствии, зачастую можно выкупить у сервиса код программы и заниматься ей самостоятельно, или оплатить поддержку и сервис сам будет заниматься всем продвижением (в этом случае придется оплатить аккаунт в App Store или Google Play)
Заказ разработки приложения
Если вы уже подготовились и у вас есть четкое понимание того, какое приложение вы хотите, можно приступать к переговорам с потенциальным исполнителем.
- Непосредственно перед самими переговорами не помешает заключить договор о неразглашении. Этим вы защитите свою идею от недобросовестного исполнителя.
- Составление ТЗ (технического задания). На этом этапе важно участие заказчика. В идеале для самого заказчика хорошо подготовится к этому моменту, и иметь не просто некую абстрактную идею в уме, а по возможности детальный набросок основных окон программы. На основе работы, проделанной заказчиком, специалисту будет проще объяснить, что и как лучше реализовать на практике. Составление ТЗ требует работы специалиста, по этому эта услуга платная.
- По достижении договоренности исполнитель должен предоставить смету на выполнение работ, в которой прописаны все работы, необходимые часы на выполнение задач и стоимость часа. В некоторых случаях смета не составляется, и речь идет только о стоимости часа работы специалиста. Внимание! Часы в смете необходимы для подсчета общей стоимости работ и могут быть распределены между специалистами. Конечные сроки выполнения всего заказа рассчитываются отдельно.
Этапы
Что нужно для создания любого мобильного продукта? Обычно оно проходит в несколько основных этапов. Этапы создания:
- Схематический набросок: какие окна будет видеть пользователь, как между ними перемещаться, и какой в них будет размещен функционал.
- Дизайн.
- Разработка.
- Тестирование.
- Поддержка.
Проектирование и дизайн
Прежде, чем полностью выполнять весь дизайн, создаются основы, концепция дизайна. Дизайнер оформляет одно-два окна программы, после чего руководитель проекта принимает решение, подходит этот дизайн приложению или нет. Переделать концепцию на этом этапе намного быстрее и проще, чем весь дизайн полностью
Как только решение по концепции будет принято, дизайнер приступает к выполнению всего объема работ.
Разработка
ТЗ готово, дизайн тоже готов – самое время приступить непосредственно к самой разработке. На этом этапе программисты выполняют в коде все, что было согласованно ранее. Все коллективы работают немного по-разному, но в целом рекомендуется на время разработки пользоваться тем же гаджетом, на который пишется программа (например если приложение пишется на андройд, то в процессе работы над ним лучше всего если участники разработки и сами пользуются смартфонами на андройде). И уже понемногу тестировать еще сырое приложение.
Тестирование
Тестирование это неотъемлемый этап процесса разработки. На тестировании лучше не экономить ни денег, ни времени. У вашего продукта будет только один шанс создать о себе хорошее впечатление. И чем лучше ваша программа будет работать на релизе, тем дешевле вам обойдется дальнейшее ее продвижение.
Задача тестирования не только в поиске ошибок и багов, но и в изучении отклика приложения: насколько удобно в нем работать, все ли интуитивно понятно, если ли сложности с поиском элементов функционала и т.д.
Поддержка
Вы всё выполнили грамотно, разработка мобильного приложения завершена, и оно уже поступило в продажу. Но основная работа только началась. Необходимо постоянно отслеживать обратную связь от пользователей. Оперативно реагировать, как на отрицательные отзывы, так и на пожелания. Чем быстрее вы выпустите обновление с решением проблем, тем быстрее магазин скроет негативные отзывы на прошлую версию. А исполнение рациональных пожеланий пользователей повысит лояльность к вашему продукту.
Важно! Перед выпуском обновления не поленитесь потратить немного средств на его тестирование – это поможет избежать неожиданных проблем.
Специфика
Распространение мобильных устройств в наше время достигло невероятных значений. Мобильный телефон есть у 2 из каждых 3 человек на планете. С помощью мобильных люди общаются, делают покупки, получают образование, играют. Это огромный рынок, который нельзя оставлять без внимания.
Однако чтобы разрабатывать приложения для мобильных платформ, нужно владеть определенным языком программирования. Swift – для iOS, Java или Kotlin – для Android. Или JavaScript – для iOS, Android и ряда других ОС!
Да-да, JavaScript везде, и на мобильных в том числе. На данный момент есть несколько известных и проверенных фреймворков для создания кроссплатформенных мобильных приложений на этом языке, например, React Native и Apache Cordova, а также основанные на ней проекты.
Для разработки на React Native требуется знание библиотеки React и основных паттернов работы с ней. Cordova же может взять обычное веб-приложение и обернуть его нужным кодом так, чтобы оно работало на мобильных ОС. Такие "гибридные" приложения не могут похвастаться высокой нативной производительностью, однако очень просты в разработке.
Cordova отлично подходит для создания простых проектов без сложной графики. Сейчас мы как раз разработаем один из них – классическое Todo App для Android на JavaScript.
Так как мы пишем приложение для Android, нам понадобится JDK (Java Development Kit) и Android SDK – среда разработки для приложений Android. А также собственно Cordova.
Установочник для нужной платформы можно найти на сайте Oracle. Выбирайте версию не выше JDK 8, с более новыми Cordova не будет работать.
Запомните, куда установился пакет, и сохраните этот путь в переменной окружения JAVA_HOME .
А также добавьте его в переменную PATH .
Android Studio
Для разработки под Android также потребуется установить Android Studio.
После установки зайдите в программу и откройте меню SDK Manager (при открытом проекте Tools -> SDK Manager).
Здесь вы найдете путь к Android SDK (Android SDK Location), сохраните его в переменную окружения ANDROID_SDK_ROOT .
Добавьте в переменную PATH каталоги tools и platform-tools :
Затем убедитесь, что установлен пакет Android SDK Build-Tools (во вкладке SDK Tools).
Создание эмулятора
Наконец, создадим эмулятор, на котором можно будет запускать приложение в процессе разработки.
Для этого зайдите в меню AVD Manager:
И создайте эмулятор с нужными параметрами.
Cordova
Осталось глобально установить npm-пакет Cordova:
Подготовительные работы закончены, пора приступать к самому интересному.
Вероятно, самый интересный вопрос – как запустить обычную веб-страницу на устройстве Android. Чтобы ответить на него, создадим пустой проект Cordova и разберемся на практике.
Создание пустого проекта
Команда для создания нового проекта Cordova:
- Первый аргумент – todo-app – это название новой папки, которую Cordova создаст в текущем каталоге.
- Второй аргумент – com.furrycat.todo – это идентификатор проекта.
- Третий аргумент – TodoApp – имя приложения.
Появилась новая папка todo-app . Перейдите в нее и запускайте все дальнейшие команды уже внутри этой директории.
Внутри находится файл config.xml , которые содержит все мета-данные, а также папка www – именно в ней и расположен код веб-приложения. Сейчас это простейшая страница – index.html – с логотипом Cordova и парой надписей, к ней подключен файл стилей и скрипт. Вы можете открыть эту страницу в браузере:
Заглянем в файл js/index.js . Здесь очень простой код: установлен слушатель события deviceready , его обработчик просто добавляет класс .ready к одному из html-элементов.
deviceready – это событие, которое вызывает сама Cordova. Нетрудно догадаться, что оно возникает после того, как устройство, на котором запущено приложение будет готово его воспроизводить. Так как мы запустили проект в обход Cordova, это событие не возникает, поэтому надпись Connecting to device не исчезает.
Добавление платформы
Укажем целевые платформы для проекта – у нас это только Android:
Сборка проекта
Команда для сборки проекта для Android-платформы:
В папке platforms/android/app появилась новая директория build . Внутри нее есть файл outputs/apk/app-debug.apk . По сути это уже рабочий apk, который можно запустить на Android-устройстве.
Загрузите его на смартфон, запустите – и вы увидите ту самую дефолтную веб-страницу. Все работает!
Как видно, надпись connecting to device сменилась на device is ready. Это значит, что кордова вызвала событие deviceready , а приложение отреагировало на нее.
Запуск на эмуляторе или устройстве
Нет необходимости вручную копировать apk на устройство при каждом изменение приложения.
Чтобы запустить проект на смартфоне, подключите его к компьютеру, разрешите отладку и запустите команду:
Кордова сама соберет проект, обнаружит устройство и запустит приложение
Можно обойтись и без реального устройства.
Запустите созданный ранее эмулятор в Android Studio:
и снова выполните команду:
На этот раз кордова найдет эмулятор и запустит проект на нем:
Теперь мы умеем запускать обычную веб-страницу как приложение на Android-устройстве.
Теперь заменим дефолтную страницу Cordova на собственное крутое Todo-приложение.
Это очень простое веб-приложение, написанное с использованием фреймворка Vue. Его исходный код находится в корне проекта в новой папке src . Сборка осуществляется с помощью webpack, собранные файлы помещаются непосредственно в папку www .
Есть возможность добавлять, редактировать, удалять дела, а также отмечать их сделанными. Чтобы при перезагрузке список дел не пропадал, все сохраняется в localStorage .
Откройте приложение в эмуляторе или на подключенном устройстве и убедитесь, что все работает:
Отладка
Запущенное на эмуляторе или реально устройстве приложение Cordova можно отлаживать через браузер Chrome.
До сих пор наше приложение использовало только функциональность веб-платформы. Однако Cordova предоставляет доступ и к возможностям мобильного устройства – через многочисленные плагины.
Для примера реализуем нативные диалоговые окна и оповещения.
Диалоговые окна
Добавим подтверждение действия при удалении задачи – модальное окно с кнопками Отменить и Удалить. В вебе мы можем использовать для этого стандартное модальное окно confirm , но его нельзя кастомизировать. Поэтому мы должны получить доступ к нативным диалоговым окнам Android.
Теперь в коде приложения нам доступ объект navigator.notification с четырьмя методами:
- navigator.notification.alert
- navigator.notification.confirm
- navigator.notification.prompt
- navigator.notification.beep
Нам нужен метод confirm :
Напоминания о делах
Еще одна очень полезная функциональность – напоминание о делах в установленное время.
Для начала добавим возможность выбрать дату и время – нам понадобится плагин skwas-cordova-plugin-datetimepicker.
Использование в коде:
А для планирования оповещений понадобится плагин cordova-plugin-local-notification.
Использование в коде проекта:
Чтобы запланировать оповещение на определенное время, используется параметр trigger.at .
Публикация проекта в Google Play
Приложение готово, осталось только собрать его для продакшена.
В директории platforms/android/app/build/outputs/apk должна появиться новая папка release, внутри которой вы найдете неподписанный apk-файл.
Чтобы выложить проект в Google Play, его нужно подписать.
Для этого нужно сгенерировать ключ:
Имя ключа – todoapp.keystore , алиас – todoapp . При создании вам нужно будет ввести пароль и ответить на ряд вопросов (или пропустить их). В результате в текущей директории появится новый файл todoapp.keystore – не потеряйте его.
Теперь скомпилируем проект с ключом:
Важно указать правильное имя ключа и алиас.
Осталось запаковать проект в новый apk. Для этого понадобится утилита zipalign (она находится в папке build-tools в Android SDK):
Этот apk-файл можно добавлять в Google Play через ваш аккаунт разработчика.
Читайте также: