Android разработка приложений установка

Сборка Android приложения без Studio

В данном руководстве я актуализировал разрозненные инструкции на текущий момент (май 2022 года). Если совсем коротко, то собрать приложение можно командой:

gradlew assembleDebug или gradlew assembleRelease

Но как всегда есть нюанс 😉 Что нужно минимально поставить на ноутбук или компьютер, а главное где это скачать?

Потребуется скачать и настроить 2 вещи Jdk и Command line tools only.

JAVA DEVELOPER KIT

Нужен именно JDK. В его состав входит компилятор. JRE не подойдет.

Если у Вас уже стоит JDK давайте проверим, что настроено правильно.

C:> cd %JAVA_HOME%

Не сработало — нет переменной окружения . Исправляем.

C:\Program Files\BellSoft\LibericaJDK-11-Full>java -version

openjdk version «11.0.12» 2021-07-20 LTS OpenJDK Runtime Environment (build 11.0.12+7-LTS)
OpenJDK 64-Bit Server VM (build 11.0.12+7-LTS, mixed mode)

нет вывода как выше — директория bin не добавлена в пути

Обратите внимание на версию. Требуется 11.x.x

Установка JDK

Найти откуда скачать дистрибутив — наверная самая сложная задача. Для разработчиков 1С проще всего взять дистрибутив Liberica, скачав ее с сайта релизов 1С. Подтверждаю, что с ней андроид приложения замечательно собираются.

Если посмотрим в папки Андроид студии увидим, что сейчас использует

Без регистрации и смс доступно https://jdk.java.net/archive/ только версия 11.0.2 (отстает на 9 от используемой сейчас в студии).

Будем настраивать в варианте без установщика. Т.е. распакуем архив самостоятельно и настроем нужные переменные среды в ручную.

1. Распакуем файлы из архива в c:\Jdk11

Не удержался, чтобы не привести скриншот моего любимого файлового менеджера.

2. Добавляем переменную среды JAVA_HOME

Если у Вас есть значок моего компьютера на рабочем столе, то жмем по нему правой кнопки мыши. Параметры.

Или идем через параметры (н-р через кнопку Пуск. Шестерёнка) Система. О программе. В правой колонке синяя ссылка Дополнительные параметры системы.

Открылся диалог Свойства системы. Вкладка дополнительно. Переменные среды.

3. Добавляем в пути %JAVA_HOME%\bin

Для этого находим переменную path. Встали на нее. Изменить. Создать. Мы добавили новую строчку в диалоге. Редактируем.

%JAVA_HOME%\bin — означает подставить введенное на предыдущем шаге значение c:\Jdk11 и дописать к нему \bin . У вас должен быть введен реальный путь c:\Jdk11\bin

Чтобы не возвращаться к этому еще раз настройку утилит командной строки начнем с ввода переменных окружения.

Установка Command line tools для Android

4. Добавляем переменную среды ANDROID_HOME значение c:\android

5. В переменную Path добавляем %ANDROID_HOME%\cmdline-tools\latest\bin

Напомню еще раз . Полный реальный путь. c:\android\cmdline-tools\latest\bin

Закрываем все диалоги и окна, если все ввели без опечаток, то больше они нам не потребуются.

6. Скачиваем и распаковываем архив

Обратите внимание внутри архива два уровня вложенности, а нам нужно файлы разложить с еще одним промежуточным, который назовем latest.

Создайте папку c:\android . Распакуйте в нее архив. Войдите в cmdline-tools. Создайте папку latest. Переместите остальные файлы и папки в неё.

Теперь у нас есть инструмент с помощью которого можно доустановить остальные нужные компоненты.

7. c:>sdkmanager —list

8. c:>sdkmanager —install «platform-tools»

принимаем лицензию ответив Y

Смотрим в своем проекте нужную версию платформы . В моем примере 32-я .

9. c:>sdkmanager —install «platforms;android-32»

На этом подготовка завершена.

Собираем проект на практике

Для тестов использован дешевый ноутбук с алиэкспресс (210$). На корпусе нет никаких надписей, в общем настоящий китайский ноунейм 2021 года.

ОЗУ 6 гб. Android Studio запустить можно, но работать не комфортно.

Проверим как этот ноут будет справляться со сборкой через командную строку.

Напомню мы установили и настроили два обязательных компонента для начала сборки. В настоящий момент на диске мы заняли 289M — папка Jdk , 220M — папка Android. Папка андроид будет разрастаться. Также в папке пользователя будут созданы автоматически две служебных папки для кэширования. Папка .android уже существует и занимает 2М. В момент первой сборки появиться еще .gradle

Скачаем с гитхаба демо проект для этой статьи. Минимальный пример создан в студии через визард.

Если Вы не знакомы с гитом, то скачайте в виде архива. кнопка “Code” . Download .zip

Для начала соберем отладочную версию приложения

c:\work\androidHello>gradlew assembleDebug

В первый раз процесс длительный. Сначала скачается gradle.

В ходе сборки будут скачиваться остальные нужные зависимости. Займет это 10-15 минут.

Папка c:\android подросла до 1G. В папке пользователя появилась .gradle и в ней файлов на 632 мегабайта.

Что изменилось в самой папке приложения?

Добавилась c:\work\androidHello-main\.gradle со служебными файлами для оптимизации повторной сборки.

Появилась c:\work\androidHello-main\app\build . В нашем проекте один модуль. Аналогичная папка создается для каждого модуля в проекте.

А где же собранное приложение ?

Нужный нам файл создался в папке build подпапка outputs . Собирали мы apk и следующая папка в пути называется также. Вариант сборки для отладки, поэтому дальше debug. И вот мы видим результат.

c:\work\androidHello-main\app\build\outputs\apk\debug\apk\debug\apk-debug.apk

В данном случае места на жестком диске нам потребовалось меньше двух гигабайт. Если подключать больше зависимостей, собирать под разные целевые версии андроида и т.д. Места потребуется значительно больше. Легко это все распухнет со временем до 40 гигабайт, а то и более.

Замеры времени сборки проектов

Мы собрали приложение в первый раз за 12 минут. В данном случае большинство времени было потрачено на скачивание нужных библиотек.

Попробуем запустить еще раз.

c:\work\androidHello>gradlew assembleDebug

7 секунд. Что произошло. GRADLE проверил файлы на изменения и ничего пересобирать не стал.

Давайте почистим наш проект

./gradlew clean
Uses your project’s gradle wrapper to execute your project’s clean task. Usually, this just means the deletion of the build directory.

Это полностью аналогично действиям в студии Android Studio —> Build —> Clean или если бы вручную удалили папку c:\work\androidHello-main\app\build.

Запускаем gradlew assembleDebug — 59 секунд. Увы но даже маленький проект собирается целую минуту.

Запустим еще раз сборку — 5 секунд (время немного плавает. Аналогичное действие в прошлый раз заняло 7 секунд)

Попробуем внести небольшую правку в исходный код.

Дополнил код парой букв . Исправив home на myhome.

7 секунд . 4 задачи отработали. 30 не требовали повторного запуска.

Сборка подписанного приложения

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

Начнем с модификации app/build.gradle

Пока ничего секретного нет. Добавили конфиг для задачи подписи и дополнительный шаг в релиз.

А вот с файлом gradle.properties уже нужно решать проблему безопасности.

# app sign MYAPP_RELEASE_STORE_FILE=my-release-key.keystore MYAPP_RELEASE_KEY_ALIAS=my-key-alias MYAPP_RELEASE_STORE_PASSWORD=real_pasword_there MYAPP_RELEASE_KEY_PASSWORD=real_pasword_there

например оригинальный файл добавить в игнорируемые. Рядом положить дополненный этими строками заглушками как пример. Н-р как gradle.properties.example

С реальными строчками хранить отдельно вместе с файлом my-release-key.keystore

Хранилище ключа может иметь расширение .keystore или .jks (то, которое укажете в команде его генерации).

Ключ подписи использовать готовый или если его нет создать можно командой keytool. В случае когда пишет, что не знает такую команду, то неправильно добавили к пути c:\Jdk11\bin (директорию куда ставили JDK).

keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

my-release-key.keystore — имя файла хранилища Н-р: your.jks
my-key-alias — имя ключа в хранилище, часто key0

После запуска команды отвечайте на вопросы программы. Код страны единственное место где есть контроль правильности. Пишем ru . Остальные вещи лучше тоже заполнять латиницей.

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

И Вы уже догадались, что собрать подписанное приложение это команда

gradlew assembleRelease

В завершение

Как видите даже на слабом компьютере задача сборки андроид приложения вполне решаема.

К сожалению, это не заменит полноценно андроид студию.

Интегрированная среда разработки это не только подсветка синтаксиса. Это еще множество других полезных вещей. Работая в студии не нужно даже запускать приложение, чтобы увидеть 90% ошибок.

Источник

Читайте также:  Программирование ветвлений логические выражения
Оцените статью