Сборка 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
android < … signingConfigs < release < if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) < storeFile file(MYAPP_RELEASE_STORE_FILE) storePassword MYAPP_RELEASE_STORE_PASSWORD keyAlias MYAPP_RELEASE_KEY_ALIAS keyPassword MYAPP_RELEASE_KEY_PASSWORD >> > buildTypes < release < … signingConfig signingConfigs.release >> >
Пока ничего секретного нет. Добавили конфиг для задачи подписи и дополнительный шаг в релиз.
А вот с файлом 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% ошибок.
Как создать keystore?
для компиляции приложения в GameMaker Studio на Android нужен «Private KeyStore File». Как его создать? Есть весь Android SDK и Eclipse.
- Вопрос задан более трёх лет назад
- 17175 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 1
YoungSkipper @YoungSkipper
В SDK найдите keytool, выполните
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Это ечли вам нужен «релизный» ключ, если «дебажный» то
To fix this problem, simply delete the debug.keystore file. The default storage location for AVDs is in ~/.android/ on OS X and Linux, in C:\Documents and Settings\\.android\ on Windows XP, and in C:\Users\\.android\ on Windows Vista and Windows 7.
Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Android
- +1 ещё
Как корректно реализовать Базу данных в приложении на Андроид?
- 1 подписчик
- 3 часа назад
- 15 просмотров
Публикация приложения
После создания приложения, его тестирования и отладки мы можем приступить к его публикации. Суть публикации заключается в создании файла с расширением .apk, которое будет представлять приложение, и его последующее размещение в Google Play Market или на других внешних сайтах. По умолчанию в процессе отладки и создания приложения файл apk уже создается, и мы можем его найти в папке проекта по пути Название_проекта\app\build\outputs\apk. По умолчанию файл называется app-debug.apk и представляет debug-версию.
Но для полноценно публикации данного файла может оказаться недостаточно. И нам еще дополнительно надо произвести некоторую подготовку проекта к релизу. Для это следует указать в файле манифеста у элемента установлены атрибуты android:versionCode и android:versionName . Также в файле манифеста элемент не должен содержать атрибута android:debuggable
Кроме того, на этом этапе можно установить иконку для приложения, которая будет отображаться на рабочем экране гаджета, название приложения (атрибут android:label у элемента), а также можно задать лицензионное соглашение.
В файле манифеста также следует определить название пакета (атрибут package элемента ), которое будет использоваться для приложения в дальнейшем. По умолчанию при разработке в Android Studio пакеты приложений начинаются с com.example. Не стоит оставлять данное название, так как название пакета будет служить уникальным идентификатором вашего приложения. Например, ниже в моем случае названием пакета служит «com.maverics.eugene.telephonelist»:
При этом если в файлах кода java название пакета в начале файла также должно соответствовать пакету приложения.
Установка требований
На этапе подготовки к релизу также можно установить требования к API. Например, наше приложение имеет определеную минимальную версию ОС Android, поэтому мы можем установить в файле манифеста соответствующие атрибуты у элемента
- android:minSdkVersion — минимальная версия Android
- android:targetSdkVersion — оптимальная версия API
- android:maxSdkVersion — максимальная версия системы
Например, пусть минимальная версия Jelly Beans 4.1.2, а оптимальная KitKat 4.4.4:
Подпись приложения
Когда все уже готово, приложение для Android должно быть подписано сертификатом, благодаря которому можно идентифицировать автора приложения. Когда мы тестируем приложение, устанавливая его через Android Studio на устройство, то оно подписывается автоматически. Но для создания релиз-версии нам надо произвести дополнительно ряд действий.
При создании сертификата следует помнить, что при обновлении приложения система будет сравнивать сертификаты старой и новой версии. И обновление будет происходить, если сертификаты обоих версий совпадут. Но если новая версия будет подписана новым сертификатом, то приложение будет расцениваться как совершенно новое, никак не связанное со старой версией и представляющее совершенно другое приложение. В этом случае чтобы его установить, новая версия должна будет иметь другой название пакета, нежели старая.
Во-первых, в Android Studio выберем в меню пункт Build -> Generate Signed APK . После этого нам откроется окно мастера:

Нажмем на кнопку Create new. . После этого нам откроется окно создания ключа:

Введем в поле Key store path путь к файлу сетификата, который будет создан. Если указанной папки не существует, то ее надо создать или определить существующую папку.
В поле Password/Confirm указываем пароль.
В поле Alias указываем псевдоним. Можно поставить произвольное название.
В поле First and Last Name вписываем имя и фамилию. И далее пишим подразделение, организацию, город, страну и код страны.
В конце нажимаем OK.
После этого автоматически обновится первое окошко:

Далее нажмем на кнопку Next:

Финальное окно покажет нам путь к каталогу, где будет находиться подписанное приложение apk в release-версии. Нажмем на Finish.
Теперь по указанному пути можно будет найти подписанный apk, который будет иметь название app-release.apk:

Мы можем переименовать файл, сохранив его расширение и выложить в Play Market или на любой сайт или сразу загрузить на мобильное устройство. После загрузки на телефон/планшет достоточно нажать на него, и с помощью стандартного установщика пакетов приложение будет установлено. Правда, здесь также надо учитывать, что если мы устанавливаем приложение не из Play Market, то в настройках надо разрешить установку из других источниках — Безопасность->Неизвестные источники (Разрешить установку приложений из других источников)
What is a key store path in Android Studio?

I just created my first game using Buildbox and I am trying to upload it to the Google Play Store. Apparently, I have to use Android Studio to turn the game file into an APK. So far, I know how to open it and select «Generate signed APK» or something along those lines, but then I am given a screen like this. I have virtually no prior knowledge of any of this, so am I supposed to create a new key store path? Do I already have one? How do I do it? Any tips are appreciated 🙂
asked Apr 4, 2020 at 4:10
user13074005 user13074005
2 Answers 2
Key Store Path is the location where your keystore should be created.
If you are creating an apk for first time to release in play store, you have to select ‘Create New. ‘ ketstore path, where in which you will be promoted to a new window where you can fill in the details:
KeyStore path : select a path in your system (Create a path in any drive eg: *F:\AndroidKeys*)give a name to your key(eg:game).save in here with the specific name for your project (F:\AndroidKeys\game.jks).
Password**: Give some new password and confirm it(Don’t forget).
Alias : Enter an identifying name for your key.
Password : Create and confirm a secure password for your key. This should be different from the password you chose for your keystore.
Validity: select time period for validity of key.
Certificate: Enter some information about yourself or organization (like name. ). Done with new key generation.
Now on the screen you mentioned select the path, key store password,key alias,key password(will be auto filled at first key generation). click next — select build variants(debug or release) release in your case, select the signature versions— finish .
You can find your release apk in app\release folder of your project.