Как в android studio создавать установочный apk файл
Перейти к содержимому

Как в android studio создавать установочный apk файл

  • автор:

Как в Android Studio создавать установочный apk файл?

введите сюда описание изображения

«Build — Generate Signed APK», а дальше что? Там окошко Как его заполнять? Я попробовал просто вставить значение «1», чтобы пропустило дальше, но ничего не вышло, конце выдало ошибку.

Отслеживать
задан 7 июл 2015 в 13:42
973 6 6 золотых знаков 13 13 серебряных знаков 34 34 бронзовых знака
Что если на help в окошке нажать
7 июл 2015 в 13:47

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

7 июл 2015 в 13:50

Для того, чтобы создать установочный .apk, вам нужно подписать его собственным ключом разработчика. Из вашего вопроса очевидно, что такого ключа у вас нет, поэтому нажмите на: Create New , чтобы сгенирировать такой ключ, заполнив необходимые поля появившейся формы, а затем уже в этом окне надо будет указать путь до сгенерированного ключа и ту информацию, которую вы использовали для его генерации ( пароль и тд).

7 июл 2015 в 13:55

Вот теперь я получил папку «app» с файлами, что теперь необходимо сделать чтобы это установить на мой смартфон?

7 июл 2015 в 14:00
7 июл 2015 в 14:00

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Если вы хотите просто установить приложение на телефон, для проверки его функционала, то вам надо зайти в папку, где у вас хранится проект и зайти в папку app\build\outputs , там у вас будет файл app-debug.apk.
Этот файл вы копируете на свой телефон и через программу fileManager находите ее и устанавливаете.
То что вы делали, это нужно для того, чтобы создать уникальный сертификат для вашего приложения (это нужно для того чтобы выложить приложение в Google play Market).

P.C. не копируйте файл app-debug-unaligned. При каждом компилировании проекта у вас будет обновляться ваш файл app-debug.apk

Отслеживать
36.8k 6 6 золотых знаков 47 47 серебряных знаков 123 123 бронзовых знака
ответ дан 8 июл 2015 в 5:49
358 2 2 серебряных знака 7 7 бронзовых знаков

Запятые? Не, не слышал . Можно просто использовать устройство в качестве отладочного и тогда для того, чтобы установить приложение нужно просто нажать «Run».

Создание apk-файла в Android Studio

Конечной целью любой java-разработки является создание завершенного приложения : это может быть как библиотека/исполняемый jar-файл, либо web приложение. Имеются различные типы приложений и библиотек. При всем многообразии возможных разношёрстных типов готовых библиотек и приложений android-устройства выбиваются из общей колеи. Для android-устройств конечным программным продуктом являются apk-файлы, которые можно свободно распространять между пользователями.

На заре развития программного обеспечения вся разработка для android-устройств осуществлялась, как правило, в IDE Eclipse со специализированными плагинами типа ADT (Android Development Tools). Данная среда разработки позволяет создавать для android apk-файлы. Но времена быстро меняются, и сегодня гораздо эффективнее и быстрее создавать apk-файлы в представленной ещё в 2013 году Android Studio, основанную на старом конкуренте Eclipse — системе IntelliJ IDEA.

Аббревиатура apk (Android Package Kit) символизирует формат файлов, которые используются для распространения и установки приложений на устройства android. Файл apk содержит все необходимые элементы для правильной установки приложения на устройстве, и, по своему назначению, чем-то похож на исполняемые exe-файлы в Windows. Когда Вы «заходите в магазин» Google Play, чтобы выбрать и загрузить какое-либо приложение, Ваше устройство android скачивает и устанавливает файл apk с нужным приложением.

Создание apk-файла

Рассмотрим процесс создания apk-файла на примере p13osgi, в котором использовался OSGi-фреймворк. Этот пример подробно рассмотрен на странице Android и OSGI-фреймворк Felix. В данной статье используем готовый модуль из проекта.

Заметка. Почему в качестве примера создания apk-файла выбираем данный модуль/проект, а не какой-либо другой? Дело в том, что в данном примере используется расположенная в поддиректории lib внешняя библиотека. И для нас интерес будет представлять структура apk-файла с внешней jar-библиотекой : какое место в данном пакете будет занимать внешний файл org.apache.felix.framework-6.0.3.jar. Здесь следует понимать, что OSGi-фреймворк (Felix) позволяет создавать модульную структуру приложения. Причем, в режиме run-time можно динамически подключать новые модули (bunlde), останавливать запущенные модули, одновременно подключать разноверсионные модули. Данный функционал OSGi-фреймворка на примере Вы можете реально проверить на своем компьютере; для этого необходимо познакомиться с Уроком 8.

Создание APK-файлов всех модулей проекта

Чтобы использовать самый простой способ создания apk-файла, выберите в Android Studio пункт меню «Build → Build Bundle(s)/APK(s) → APK(s)», как это представлено на следующем скриншоте.

В данном случае для всех модулей проекта будут созданы apk-файлы. Здесь необходимо отметить, что apk-файлы будут без цифровой подписи и распространению не подлежат. Но на них можно «посмотреть», что мы и сделаем в последнем разделе статьи, а также можно проверить работоспособность на android-устройстве. Загрузку apk-файла на android-устройство мы рассмотрим в ближайшее время отдельной статьей. Также отдельной статьей я представлю процесс создания apk-файла с цифровой подписью при выборе пункта меню «Build → Generate Signed Bundle/APK».

А сейчас Вы должны увидеть, что для всех модулей проекта создаются apk-файлы, которые располагаются в поддиректориях проекта [project_name]/[module_name]/build/outputs/apk/debug/. Т.е. в поддиректории модуля build/outputs/apk/debug/ будет размещаться созданный apk-файл, наименование которого включает наименование модуля с постфиксом «-debug». В нашем примере будет создан файл p13osgi-debug.apk.

Определение типа apk : debug-release

Постфикс «-debug», добавляемый к наименованию пакета, определен по умолчанию. Вы можете самостоятельно переименовать файл, и он останется работоспособным. Но можно и изменить настройки. Для этого необходимо указателем мыши нажать на расположенную в левом нижнем углу маленькую кнопочку, как это представлено на нижнем левом скриншоте. Данная кнопка открывает окно со специальными ярлыками различных вспомогательных окон. При простом наведении указателя мыши на эту кнопку, появляется список всех этих окон для быстрого выбора нужного.

Откроем окно Build Variants и в дополнительно открытом окне (скриншот справа) найдем модуль p13osgi (наш пример).

Если в выпадающем списке переключить режим сборки с debug на release, то будет создаваться пакет p13osgi-release-unsigned.apk в поддиректории «build/outputs/apk/release/».

Создание APK-файла одного модуля проекта

Для того, чтобы создать apk-файл одного модуля, необходимо открыть панель Gradle (см.ярлык на скриншоте сверху слева). В открывшемся окне, как это представлено на следующем скриншоте, необходимо выбрать пункт меню «module_name → Tasks → build → build». В результате данных действий будет создан apk-файл только одного модуля.

Структура файла APK

В заключении посмотрим на внутренности нашего apk-файла. Сразу же отмечу, что apk-файл можно открыть zip-архиватором, например 7-Zip. Но многое останется недоступным. Лучше использовать анализатор apk-файлов от Android Studio. Далеко ходить не надо : необходимо выбрать пункт меню «Build → Analyze APK . » (см. самый верхний скриншот). В открывшемся диалоговом окне найти нужный пакет в файловой структуре, после чего в IDE будет открыта панель, как это представлено на следующем скриншоте.

Интерфейс панели анализатора разделен на 2 части. В верхней части Вы видите корневую структуру apk-файла. В нижней части можно просматривать структуру выделенного элемента верхней части.

Что сразу же бросается в глаза? Вспоминаем : в нашем примере/модуле была использована внешняя библиотека с OSGi-фреймворком Felix org.apache.felix.framework-6.0.3.jar, расположенная в поддиректории lib
В структуре созданного пакета поддиректория lib. Все файлы внешней jar-библиотеки размещаются в корне по пакетам. Можно предположить, что и дополнительное использование бандлов/модулей (а для чего использовать фреймворк, если не использовать бандлы) приведет к тому, что и их содержимое также будет интегрировано в общий пакет. Таким образом, мы лишаемся преимуществ использования OSGi-технологии при разработке приложений для android-устройств, поскольку любая доработка отдельного модуля/бандла будет связана с обновлением всей сборки (apk-пакета). Кроме этого, отсутствует возможность одновременного использования разноверсионных бандлов, а межмодульное взаимодействие посредством сервисов становится «слишком дорогим» (можно и напрямую постучаться к классам бандла, зачем нам посредник-активатор). На данном простом примере я не вижу преимуществ использования OSGi для создания многомодульного приложения.

Буду признателен всем, кто опровергнет данное предположение и предложит значимое использование OSGi-технологии в android-устройстве.

Что касается *.class’ов, то их также не будет в apk-файле. Им на смену пришли файлы *.dex .

Файл .dex

«Рабочей лошадкой» в системе Android является Dalvik Virtual Machine, не использующая байт-код Java. Виртуальная машина Dalvik является службой приложения, которая интерпретирует скомпилированный код в dex-файле. Инструкции байт-кода формата DEX не совпадают с инструкциями байт-кода Java. Таким образом, в apk-файле Java-классы представлены в формате .dex. Но необходимо отметить, что структура пакетов сохраняется.

Настраиваем и загружаем APK

Чтобы создать Native App, портируйте в Studio готовый APK-файл. APK-файл — это Android-приложение в виде архива или файла формата APK, созданное в Android Studio.

Вы можете скачать готовое демо-приложение с поддержкой основных библиотек и голосового сценария и использовать его в качестве примера для реализации своего смартапа.

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *