Урок 8 из 8 · 20 мин · обновлено
Публикация приложения и путь в профессию
Как собрать релизную версию приложения, зачем нужен ключ подписи, как опубликовать приложение в RuStore и Google Play, что нужно знать джуниор-разработчику и как подготовиться к собеседованию.
Релизная сборка и подпись
Во время разработки Android Studio собирает отладочную версию. Для пользователей собирают релизную: она оптимизирована и подписана вашим ключом.
- В меню Build → Generate Signed App Bundle or APK.
- Выберите Android App Bundle (AAB) — это современный формат для магазинов. APK — классический установочный файл, его тоже принимают многие магазины.
- Создайте ключ подписи (keystore) и придумайте надёжный пароль.
- Выберите вариант сборки release и нажмите Create.
Ключ подписи подтверждает, что обновление выпустил тот же автор. Если потерять ключ, выпустить обновление для этого приложения будет сложно. Поэтому ключ и пароли хранят надёжно и делают резервную копию. Google Play дополнительно хранит у себя ключ для подписи приложения, но ключ загрузки остаётся у вас.
Перед релизом увеличивают versionCode в build.gradle.kts — номер версии для магазина. Каждое обновление должно иметь номер больше прежнего.
Публикация
- RuStore — российский магазин приложений. Разработчик регистрируется в RuStore Консоли, заполняет карточку приложения: название, описание, иконку, скриншоты, возрастной рейтинг, политику конфиденциальности. Затем загружает AAB или APK и отправляет на проверку.
- Google Play — крупнейший магазин в мире. Регистрация разработчика платная, а новым личным аккаунтам перед публикацией нужно провести закрытое тестирование с группой тестировщиков.
- Есть и другие магазины: AppGallery от Huawei, Galaxy Store от Samsung, магазины производителей телефонов.
Перед публикацией проверьте приложение на нескольких устройствах и экранах: маленьком телефоне, большом, планшете, со светлой и тёмной темой.
Что нужно знать джуниору
На позиции Junior Android Developer обычно ждут:
- Kotlin уверенно, включая корутины и Flow;
- Jetpack Compose и основы старого подхода с XML — он ещё встречается в проектах;
- архитектуру: ViewModel, однонаправленный поток данных, разделение на слои, внедрение зависимостей (Hilt или Koin);
- сеть и данные: Retrofit, Room, DataStore;
- Git — без него не работает ни одна команда. На сайте есть курс «Git и GitHub»;
- жизненный цикл Activity и что происходит при повороте экрана и сворачивании приложения;
- английский на уровне чтения документации.
На собеседовании часто спрашивают про жизненный цикл, корутины, отличие val от var, data class, работу с null и про то, как вы устроили бы экран со списком из сети.
Портфолио
- 2–3 приложения на GitHub. У каждого — описание, скриншоты и список того, что вы использовали: Compose, ViewModel, Retrofit, Room;
- хотя бы одно приложение опубликовано в RuStore или другом магазине: это показывает, что вы прошли весь путь;
- код аккуратный: понятные имена, разбивка на экраны и ViewModel, без огромных файлов на тысячу строк.
Хорошие идеи для первых проектов — приложения с реальным открытым API: погода, курсы валют, расписание транспорта, библиотека фильмов.
Попробуйте сами. Составьте план своего первого приложения для портфолио: что оно делает, какие экраны, откуда берёт данные, что хранит на телефоне.
Пример плана
«Курсы валют» — показывает курсы рубля и помогает пересчитать сумму.
- Экраны: список валют с курсами; экран валюты с графиком за месяц; калькулятор пересчёта.
- Данные с сервера: курсы с открытого API Центрального банка, загрузка через Retrofit. Состояния загрузки, данных и ошибки — как в уроке 7.
- На телефоне: избранные валюты — в DataStore, последние загруженные курсы — в Room, чтобы приложение работало без интернета.
- Навигация: список → экран валюты по id, как в уроке 6.
В таком проекте есть всё, о чём спросят на собеседовании: Compose, ViewModel, сеть, база, навигация и обработка ошибок.
Мини-тест: проверьте себя
Закрепите урок: несколько вопросов, разбор ответов — в конце.
-
Зачем приложение подписывают ключом?
Подпись подтверждает автора. Обновление с другим ключом магазин не примет, поэтому ключ хранят бережно и делают резервную копию.
-
В каком формате обычно загружают приложение в магазины?
AAB — современный формат для магазинов: магазин сам соберёт из него версии под разные устройства. APK — установочный файл, его тоже принимают многие магазины.
-
Что из этого сильнее всего поможет получить первую работу?
Работодатель хочет видеть код и законченный результат. Опубликованное приложение показывает, что вы прошли весь путь от идеи до магазина.