Создание 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 самому?
Всегда интересовала возможность создание apk самому, проще говоря , как это сделать ? Я понимаю что хочу изобрести велосипед, и тем не менее хочу создать apk. Я не хочу использовать android studio и тому подобное, мне нужно видить только код , знать как работает сама структура apk файла, и как средствами компьютера и компилятора(ов) собрать приложение, я не против скачивание ndk sdk jdk
- Вопрос задан более трёх лет назад
- 2743 просмотра
Чем создать APK?
Рассмотрим основные варианты, с помощью которых можно создать файл формата APK (Android Package File). Зачастую выполнение данной задачи не потребудет каких-либо особых хитростей, просто скачайте Google Android SDK (для операционной системы Windows) — интерфейс программы не сложный, да и скачать ее вы можете бесплатно.
Вооружившись программой с правильным функционалом, вы наверняка не испытаете проблем с созданием файла APK. Мы собрали в общий список все программы походящие под данную задачу для ОС Windows, Mac, Linux и сделали удобную таблицу:
Программы для создания APK файлов
![]()
Чем создать APK в Windows?
Google Android SDK
![]()
Mac
Google Android SDK
![]()
Linux
Google Android SDK
Общее описание расширения APK
Файл APK является приложением, созданным для мобильной операционной системы Android. Данный формат файла относится к архивным исполняемым приложениям, разрабатывался файл расширением APK программистами компании Open Handset Alliance вместе с корпорацией Google. Android-смартфоны способны открыть файл, имеющий расширение .apk при помощи штатных средств, находящихся в системе Android. Каждое приложение Android скомпилировано и помещено в файл, который включает в себя программный код (его содержат .dex файлы), некоторые ресурсы и элементы, а также файл расширением .manifest.
Знаете другие программы, которые могут создать APK? Не смогли разобраться как создать файл? Пишите в комментариях — мы дополним статью и ответим на ваши вопросы.
Видео форматы
Аудио форматы
Электронные книги
Текстовые форматы
Дисковые образы
Табличные данные
Растровые изображения
Векторные изображения
Резервное копирование
Raw
Сжатые файлы
Файлы данных
Базы
3D Изображения
CAD файлы
Файлы разработчиков
Зашифрованные файлы
Исполняемые форматы
Шрифты
Файлы игр
GIS, карты
Другие расширения
Форматы макетов
Форматы плагинов
Файлы настроек
Системные файлы
Веб форматы
Конвертируем в приложение Android
Начиная с MV, игры созданные этим редактором возможно запустить в браузере, поддерживающем технологии HTML5, такие как WebGL, 2DCanvas, WebAudio и JavaScript. Так же, вы можете запустить игру через браузер Android устройства.
Вместо того, чтобы описывать запуск через браузер, мы покажем, как собрать Android приложение. Web-приложения, запускаемые как обычные, называются «Гибридными (Hybrid App)», это хороший способ сделать приложение кросс-платформенным.
Часть приложений используют для игры стандартный браузер устройства на Android. Но встроеный браузер имеет плохую поддержку HTML5. По этому, мы используем технологию «Crosswalk Project», что использует движок Chrome, который имеет хорошую поддержку HTML5.
Подробное описание доступно на сайте проекта, изучите, если вам интересно. ([Crosswalk Project на Android]).
Операционные системы
Данное руководство подходит для Windows 8.1 (7 тоже) и OS X 10.10.
2 Подготовка среды для создания пакетов
Установка игр, сделанных с помощью RPG Maker MV, на Android требует создания apk файла. По сути, это архив формата ZIP, содержащий необходимые файлы для запуска приложения. Мы называем создание apk файла «Упаковкой(Packaging)».
Требуется Интернет-соединение для загрузки необходимых инструментов.
2-1 Установка и настройка Python
Скрипт сборки, предоставленный Crosswalk Project, упростит создание пакета игры. Скрипт создан с использованием скриптового языка «Python», поэтому нам нужно будет скачать и настроить его. Данный пункт описывает установку Python на Windows, ибо Python предустановлен в OS X, следовательно, установку мы пропускаем, переходите сразу в пункт 2-2.
2-1-1 Загружаем и устанавливаем Python
Скачать установщик можно с официального сайта по указанной ссылке: https://www.python.org/downloads/. Не страшно, если при установке вы не отметите все пункты, главное запомните, куда вы установили Python.

Установим Python, например, в C:\Python34.

2-1-2 Настраиваем переменную PATH
Настроив переменную PATH, вы сможете использовать Python без указания полного (абсолютного) пути к нему.
Нажмите правой клавишей по ярлыку «Мой компьютер» на своем рабочем столе, в выпадающем меню выберите [Свойства] и перейдите на вкладку [Дополнительно].

Щелкните [Переменные среды]. Выберите [Path] в [Системных переменных] и дважды кликните по ней.

Добавьте в конец (без кавычек) «;C:\Python34\», сохраните.
;C:\Python34\

Закройте окно [Свойств] и откройте [Проводник]. Нажмите Win + R и введите CMD, чтобы открыть окно командной строки.

Введите «python —version» и нажмите клавишу Enter. Если отобразилась версия Python, то всё получилось.
> python --version

2-2 Устанавливаем и настраиваем Oracle JDK
Для запуска Android SDK и «Ant» вам потребуется JDK (Java Development Kit) от Oracle. Начиная с OS X 10.6, JDK уже установлен и вам не нужно делать это самому.
2-2-1 Загружаем и устанавливаем JDK
Загружаем JDK по ссылке: http://www.oracle.com/technetwork/java/javase/downloads/index.html. На август 2015, последняя версия JDK была 8u51.

Загрузите нужную вам версию. Для Windows есть две версии, 32-битная для (Windows x86) и 64-битная для (Windows x64), будьте внимательны и выберите то, что подходит для вашей системы.
Выберите «Accept License Agreement», тогда загрузка станет доступна.

Запустите установщик Java SE Development Kit и не меняйте никаких настроек.

2-2-2 Настраиваем пути для JDK
Нам нужно создать переменную среды JAVA_HOME. Это просто. Как и в настройке Python в шаге 2-1-2, в [Системных переменных] щелкните [Создать].
Введите «JAVA_HOME» в название переменной и укажите путь до JDK, например, C:\Program Files\Java\jdk1.8.0_51.
JAVA_HOME C:\Program Files\Java\jdk1.8.0_51

Далее, откройте переменную [Path] и добавьте в конец «;%JAVA_HOME%\bin\».
;%JAVA_HOME%\bin\

Теперь проверим корректность установки, так же как и для Python.
Введите «java —version» и нажмите Enter. Если в ответ напечатает версию java, то всё получилось.
> java -version

2-3 Устанавливаем и настраиваем Apache Ant
Ant — программа для сборки, использущая Java. Установка требуется как и для Windows, так и для OS X.
2-3-1 Загружаем и устанавливаем Ant
Загрузите бинарники Ant с сайта http://ant.apache.org/bindownload.cgi.
Скачайте [.zip archive:] в секции [Current Release of Ant]. На Август 2015, последняя версия Ant была 1.9.6.

Распакуйте Ant куда захотите, но лучше всего распакйте в корень диска C.

2-3-2 Настраиваем пути для Ant
Также как и для JDK, нам нужно создать новую переменную.
Создайте переменную ANT_HOME, содержащую путь до Ant.
ANT_HOME C:\apache-ant-1.9.6

Далее откройте [Path] и введите «;%ANT_HOME%\bin\».
;%ANT_HOME%\bin\

Что бы проверить установку, откройте консоль и введите «ant —version», нажмите Enter.
> ant -version

2-4 Качаем и настраиваем Android SDK
SDK — сокращение от «Software Development Kit» — оно содержит необходимые программы для разработки программ. Программы для упаковки и тестирования включены в этот SDK.
2-4-1 Качаем и устанавливаем Android SDK
Загрузите Android SDK с сайта http://developer.android.com/sdk/installing/index.html. В SDK вы можете найти [ANDROID STUDIO], программу, для создания прилажений Android. Но мы будем использовать [STAND-ALONE SDK TOOLS].

Выберите [STAND-ALONE SDK TOOLS] и щелкните [Download the SDK now] на следующей странице. На Август 2015, последняя версия SDK была r24.3.3. Скачайте установочную программу (exe файл).


Установите SDK в корень диска C, что бы вам было проще его найти.

2-4-2 Загружаем дополнительные компоненты через Android SDK Manager
Так как базовая установка SDK не содержит всех нужных элементов, мы загрузим их через Android SDK Manager. Android SDK Manager можно найти в меню «Пуск».
Вы можете скачать USB-драйвера через Android SDK Manager. Для сборки необходимо скачать [Android SDK platform-tools], [Android SDK Build-tools] и API (последняя версия [Android 5.1.1 (API 22)]).
Так же, стоит добавить [Google USB Driver] (упомянутый выше) в категории [Extras], что позволит вам установить apk сразу по USB.
- Android SDK platform-tools
- Android SDK Build-tools
- Android5.1.1 (API 22)
- Google USB Driver
*Возможно, требуемые компоненты будут уже выбраны.

2-4-3 Настраиваем пути для SDK
Добавьте в переменную PATH три пути.
;C:\android-sdk\ ;C:\android-sdk\tools\ ;C:\android-sdk\platform-tools\

Проверьте пути. Введите в консоли «adb version» и нажмите Enter.
> adb version

2-5 Скачиваем заготовку Android приложения для Crosswalk Project
Вам не нужно устанавливать Crosswalk Project. Распакуйте архив туда, куда вам будет удобно. Всё нужное уже есть в данном пакете.
Заготовка скачивается с https://download.01.org/crosswalk/releases/crosswalk/android/stable/. Хотя есть версии поновее, лучше скачать 10.39.235.16.
Щелкните по нужной папке и скачайте [crosswalk-10.39.235.16.zip].

Для удобства файл должен быть распакован в корень диска C.

Подготовка к сборке завершена.
3 Разрабатываем игры при помощи RPG Maker
После окончания разработки игры на RPG Maker, выберите [Экспорт (Внедрение в оф. русской локализации)] в меню Файл. Выберите [Android / iOS] и экспортируйте, так вы получите всё необходимое.
Для удобства, мы экспортировали проект на рабочий стол.

4 Создаём пакет игры
Получим из исходников apk файл для установки игры на Android.
4-1 Создаём manifest.json
Создайте manifest.json файл любым текстовым редактором (прим.переводчика: советую использовать notepad++).
Ниже указан привер содержимого файла.
manifest.json
Исключая имя и версии, остальное можете оставить как есть.
Сохраните manifest.json в папке «/www».
Ниже указаны возможные параметры.
| Параметр | Значение |
|---|---|
| name | Название игры. |
| xwalk_version | Номер версии. Увеличивайте версию с каждым пакетом. !ВНИМАНИЕ!, формат версии должен состоять из трёх цифр! Пример: 0.0.1. |
| start_url | Стартовая страница игры. Обычно это index.html. |
| display | Если параметр будет «fullscreen», то игра запустится во весь экран. |
| orientation | Ориентация экрана. стандарная — горизонтальная: «landscape» |
| icons | Собственно, иконки разных размеров. |
4-2 Создаём пакет
Внутри примера, скачанного в шаге 2-5, есть файл «make_apk.py». Это скрипт, запускающий сборку apk. Запускать его нужно при помощи командной строки.
Отеройте папку «/www», нажмите Win + R и введите CMD. В окне командной строки должен быть указан путь до папки «/www». Если нет, то перейдите в нужную папку, используя команду:
CD C:\crosswalk-10.39.235.16

Ниже приведена примерная команда для сборки пакетов.
python C:\crosswalk-10.39.235.16\make_apk.py --package=com.example.sample --manifest=manifest.json
Скрипт сборки написан на Python. Так мы можем вызвать его со специальными параметрами.
—package Устанавливает имя пакета. Если у вас есть свой домен, вы можете спокойно использовать его в вашей игре. Имя пакета начинается с домена верхнего уровня («com», например), далее ставится «.», после которой пишется доменное имя. Третий компонент — имя вашей игры(!НА АНГЛИЙСКОМ!) («sample», например). Внимание! После публикации имя пакета изменить нельзя, выберайте осторожно!
* домен example.com приведён в качестве примера. Использовать его для публикации в магазинах НЕЛЬЗЯ.
Пример домена:
Если ваш домен [example.com] и название вашей игры [sample], ваше название пакета будет:
com.example.sample Так же, среднюю часть часто заменяют названием кампании. —manifest Указывает на файл манифеста. Позволяет указать на иконки, поведение при запуске, название игры.
Если сборка пройдёт без проблем, консоль выведет сообщение [BUILD SUCCESSFUL].

Вы получите два файла, «Sample_0.0.1_arm.apk» и «Sample_0.0.1_x86.apk». Файл содержащий в имени [arm] создан для архитектуры процессоров ARM, который стоит в большинчтве Android устройств. Файл содержащий [x86] создан для архитектуры x86, которая используется реже.

Если вы ещё раз запустите скрипт, старые файлы будут заменены новыми. Чтобы не допустить этого, всегда перемещайте их в другие папки.
4-3 Устанавливаем на устройство
4-3-1 Подготавливаем Android устройство
Для начала поищите в настройках пункт [Отладка по USB]. Если же его нет, выполните инструкцию ниже, НО БОЛЬШЕ НИЧЕГО НЕ ТРОГАЙТЕ! Вам нужно будет включить [Параметры разработчика] на вашем устройстве.
Для её активацииз найдите в настройках [Номер сборки] и нажмите на неё около семи раз.
*Расположение номера сборки в разных устройствах находится в других меню.

4-3-2 Устанавливаем по USB
Теперь мы можем установить игру через USB-соединение. Если вы не установили драйвера, вы можете скачать их через Android SDK Manager.
Соедините Android устройство с вашем компьютером с помощью USB-кабеля. Ваш кабель должен поддерживать передачу данных, а не только зарядку.
Когда соединение будет установлено, может появится окно, спрашивающее вас «Хотите ли вы включить USB-отладку». Отвечайте «Да»
Введите в консоли «adb devices» и нажмите Enter. Если вы сделали всё верно, в консоли отобразится имя вашего устройства.
> adb devices

Мы используем команду «install», для установки пакета. Введите «adb install -r Sample_0.0.1_arm.apk» и нажмите Enter. Параметр «-r» позволяет обновить приложение, если оно уже установлено, сохраняя данные.
Консоль выведет [Success], если удалось установить приложение. Запустите игру, выбрав её в меню устройства.
> adb install -r Sample_0.0.1_arm.apk

4-3-3 Установка через Интернет
Загрузите ваше приложение на любой файлообменник, например, Google Drive, потом скачайте приложение через браузер и установите его.
Как правило, вы должны разрешить установку приложений не из PlayMarket. Для этого перейдите в [Настройки] → [Безопасность] → [Неизвестные источники]* и активируйте эту опцию.
* Опция может лежать в меню [Приложения]

5 Публикуем в Google Play
Если вы хотите распространять игру через Google Play, вам придётся завести аккаунт разработчика: Google Play Developer.

Мы НЕ будем расписывать весь процесс регистрации в Google Play. Изучите необходимые материалы и туториалы, чтобы правильно создать аккаунт.
Тут описана только важная информация.
5-1 Подписываем приложение
«Подписав» приложение, вы доказываете, что именно ВЫ создали его. Это как поставить подпись в документе. Неподписанные приложения нельза опубликовывать в Google Play.
Есть несколько способов подписать приложение, мы же используем скрипт make_apk.py.
5-1-1 Создаем ключевой файл
Ключевой файл хранит в шифрованном виде вашу информацию. Он показывает, что вы один из разработчиков приложения.
Вы можете использовать несколько ключей, но одного вполне достаточно.
Кроме того, вы можете использовать ключевой файл для других приложений.
Мы создадим ключевой файл программой «keytool», которая входит в состав в JDK. Ниже дан пример команды.
keytool -genkey -v -keystore sample.keystore -storepass password -alias release -keypass password -keyalg RSA -validity 10000
-genkey -v Создаёт новый файл ключа. -keystore Указывает имя файла. -storepass Указывает пароь для магазина. В примере мы использовали пароль [password], но вы должны придумать свой, сложный пароль. -alias Задает псевдоним ключа. -keypass Указывает пароль для ключа. В примере мы использовали пароль [password], но вы должны придумать свой, сложный пароль. -keyalg Задаёт алгоритм шифрования ключа (используем RSA). -validity Срок использования ключа(в днях). Установите значение побольше, иначе будет невозможно обновить приложение.
После введения данной комманды, вам надо будет ввести в консоли дополнительную информацию.

Введите ваше имя, организацию, город проживания и т.д. Код страны для России — «RU».
После введите .
Ключевой файл появится в той папке, в которой вы открывали консоль.
5-1-2 Подписываем приложение
Мы используем ту же комаду, что и в пункте 4-1, указав дополнительные опции.
python C:\crosswalk-10.39.235.16\make_apk.py --package=com.example.sample --manifest=manifest.json --keystore-path=C:\Users\IEUser\Desktop\sample.keystore --keystore-alias=release --keystore-passcode=password --keystore-alias-passcode=password
Добавились keystore-path, keystore-alias, keystore-passcode и keystore-alias-passcode.
—keystore-path Путь до ключевого файла. —keystore-alias Псевдоним ключевого файла, указанный при его создании. —keystore-passcode Пароль, указанный при создании ключевого файла. —keystore-alias-passcode Пароль ключевого файла, указанный при его создании.
Загрузите apk в Google Play Developer Console. Заполните необходимую информацию.

Обратите внимание
- Мы снимаем с себя всю ответственность за результат вводимых комманд и установленных программ.
- Мы не гарантируем, что все ваши разработанные игры будут опубликованы в Google Play.
- На момент создания статьи (Август 2015), информация была актуальна. Поэтому приведённые картинки могут отличаться, если требуемое ПО обновлялось.
- Если у вас есть вопросы по [Одобрению приложения в Google Play], обратитесь в Поддержку Google Play Developer.

