Android как сделать apk

How to Generate APK and Signed APK Files in Android Studio

Android Studio allows you to create two kinds of APK files.

First are the debug APK files that are generated solely for testing purposes. They will run on your Android mobile. However, they cannot be uploaded to the Play Store or made available to the public.

Secondly, you can generate signed APK files. Signed APK files come in handy when you’ve tested your application and it is ready to be uploaded on the Play Store and released to the general public.

This tutorial will show you how to create an Android app by generating APK files using Android Studio.

First things first: open up a project file in Android Studio. If you don’t have a project file yet, simply create a New Project.

Creating an APK file

Generating a debug APK file is easy and is a matter of just a few clicks.

First, open up your project or application that you want to import into an APK file. Then, select Build > Build Bundle(s)/APK(s) > Build APK(s) from the toolbar menu.

Android Studio will take a few moments to generate an APK file.

Once the APK build is complete, you’ll receive a notification on the bottom right corner of your screen. From that notification, select Locate and you will be led to the APK file location.

If you miss the notification, you can still locate the APK file in the following path within your project folder: app/build/outputs/apk/debug. The file is named app-debug.apk by default.

Creating a Signed APK File

To generate a signed APK file, open the Build menu from the toolbar and select Generate Signed Bundle/APK.

This opens up a screen where you have to select between creating an Android App Bundle and creating an APK file. Check the APK radio button and proceed to the next window.

In the next window, you will be shown the module (your application) for which the APK file is being generated. You’ll be asked about your Key store path, Key store password, Key alias, and the Key password.

Creating a New Key Store

Assuming that this is the first time you’re creating a Signed APK file, you will have to create a new key store.

Keys are used by the developer to access their application once it has been uploaded to the Play Store. The need for the keys usually arises when you have to update your application. All of the keys are stored in the key store.

Both the key store and the keys are protected by passwords of their own. The passwords should be at least six characters in length. Also, it is a good practice to keep multiple copies of your keys since they are your only gateway to your application. If the key is lost, you will not be able to access your application or update it.

Creating your own app requires you to create a new key store. To do so, select Create new. You will find it underneath the input field where you enter the key store path.

Читайте также:  Блендер как сделать соус

You will then be redirected to a new window.

In the new window, enter the path for your new key store, and then enter a password to protect it.

In the same window, you will also be setting a new key for your application. Enter an identity for your key in the key alias field and then enter a password for it.

You can keep the same password as that of your key store, but it’s a good practice to give a new password to each of your keys. The same goes for the key alias.

The next field defines the validity of your application. This is the duration after which the key to your application will expire, leaving your application inaccessible. The default validity for a key is 25 years.

For each key that you generate, you’re given a certificate that contains all the information about you and your company. You don’t necessarily have to fill in all the details—just choose the ones you think should go on your certificate. A key will still be generated, even without filling in each field of the certificate.

Finishing Up

Once you have filled in the details for the certificate, select OK. You will then be directed back to the Generate Signed Bundle or APK screen.

Here, all of the fields will now be pre-filled for you. Go through all the details to stay on the safe side. Then, select Next.

On the last screen, you will now be able to see the destination of your Signed APK file. Below that, you will see two more options: Debug and Release.

Debugging is used when the application is still in the testing phase. Since your application has passed the testing phase and is ready for deployment, select Release.

There are two more checkboxes towards the bottom of the screen. Select V2 (Full APK Signature) and click Finish.

You will be notified by Android Studio once the APK build is finished. Now, you can click on Locate from the notification to open up the file location.

The Signed APK file is named app-release.apk by default. You will find it in your project folder in the app/release directory.

Summary

These are the steps you need to follow to generate APK and Signed APK files for the purposes of testing your app and making it downloadable via Google Play respectively:

Create an APK File

  1. Create the project in Android Studio.
  2. Select Build >Build Bundle(s)/APK(s) >Build APK(s) from the toolbar menu.

You can now transfer your debug APK file to your Android mobile phone and test it for bugs. You can also test it out on your PC using the Android emulator.

Create a Signed APK File

  1. Create the project in Android Studio.
  2. Select Build >Signed Bundle/APK from the toolbar menu.
  3. Configure the settings for your APK file and possibly create a new key store and key.

Create a New Key Store and Key

  1. Select a key store path.
  2. Enter a password for your key store.
  3. Give your key an identity, validity period, and password.
  4. Enter any personal or organizational details you want included in the key certificate.

You can now release this signed APK file to the public by publishing it on Google Play Store.

Easy but tricky, right? Hopefully, this tutorial helped to clear up any confusion you had about generating APK and signed APK files and bettered your understanding of both file types.

Источник

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

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

Читайте также:  Как сделать большой мангал

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

Потребуется скачать и настроить 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

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

Читайте также:  Как сделать бетон 400

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 уже нужно решать проблему безопасности.

например оригинальный файл добавить в игнорируемые. Рядом положить дополненный этими строками заглушками как пример. Н-р как 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% ошибок.

Источник

Поделиться с друзьями
Ответ и точка