Как открыть APK файл в Android Studio?
Можно, но зачем это делать ВАМ и при чем тут IDE? Как вам «намекнул» @metalurgus, используйте архиватор, чтобы залезть внутрь..
23 янв 2015 в 19:25
На Github частенько бывают исходники приложений, не ленитесь там поискать.
23 фев 2018 в 21:08
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Никак. APK файл — это обычный ZIP архив, содержащий скомпилированный код. Android Studio не открывает APK файлы.
Отслеживать
11 1 1 золотой знак 2 2 серебряных знака 8 8 бронзовых знаков
ответ дан 23 янв 2015 в 19:07
Vladyslav Matviienko Vladyslav Matviienko
20.4k 2 2 золотых знака 29 29 серебряных знаков 52 52 бронзовых знака
Простой способ: использовать онлайн-инструмент http://www.javadecompilers.com/apk , загрузить apk и получить исходный код.
Процедура для декодирования .apk файлов, шаг за шагом: Шаг 1:
Создайте новую папку и скопируйте файл .apk, который вы хотите декодировать. Теперь переименуйте расширение этого .apk-файла в .zip (например, переименуйте с filename.apk в filename.zip) и сохраните его. Теперь вы можете получить доступ к файлам classes.dex и т. Д. На этом этапе вы можете видеть чертежи, но не файлы xml и java, поэтому продолжайте.
Теперь извлеките этот .zip-файл в ту же папку (или NEW FOLDER). Загрузите dex2jar и извлеките его в ту же папку (или NEW FOLDER). Переместите файл classes.dex в папку dex2jar. Теперь откройте командную строку и смените каталог на эту папку (или NEW FOLDER). Затем напишите d2j-dex2jar classes.dex (для терминала mac или ubuntu write ./d2j-dex2jar.sh classes.dex) и нажмите enter. Теперь у вас есть файл classes.dex.dex2jar в той же папке. Загрузите java decompiler , дважды щелкните по jd-gui, щелкните по открытому файлу и откройте classes.dex .dex2jar из этой папки: теперь вы получаете файлы классов. Сохраните все эти файлы классов (в jd-gui, щелкните File -> Save All Sources) по имени src. На этом этапе вы получаете источник java, но файлы .xml по-прежнему не читаются, поэтому продолжайте.
Теперь откройте еще одну новую папку
Вставьте файл .apk, который вы хотите декодировать Загрузите последнюю версию apktool И окно установки apktool (обе могут быть загружены из одной и той же ссылки ) и поместите их в ту же папку Откройте командное окно Теперь запустите команду, например apktool if framework-res.apk и следующую apktool d myApp.apk (где myApp.apk обозначает имя файла, которое вы хотите декодировать)
теперь вы получаете папку с файлами в этой папке и можете легко прочитать XML-файлы apk. Шаг 4:
Это не какой-либо шаг, просто скопируйте содержимое обеих папок (в данном случае и новую папку) в один файл
и наслаждайтесь источником код .
Создание 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. Но необходимо отметить, что структура пакетов сохраняется.
Запуск вашего android-приложения на реальном или виртуальном устройстве андроид
Если вы следовали предыдущему уроку для создания “Hello World” Android проекта, он уже включал в себя набор исходных файлов, позволяющих сразу запустить приложение.
- Подготовка к запуску
- Как запустить android-приложение на реальном устройстве
- Как запустить android-приложение из Android Studio:
- Как запустить android-приложение из Eclipse
- Как запустить android-приложение на эмуляторе
- Как запустить android-приложение из командной строки
Подготовка к запуску
Как вы запускаете ваше приложение зависит от двух вещей: есть ли у вас реальное Android устройство и используете ли вы Android Studio или Eclipse. Этот урок покажет вам, как установить и запустить свое приложение на реальном устройстве и на Android эмуляторе, и в обоих случаях с помощью Eclipse или инструментов командной строки.
Перед запуском вашего приложения, вы должны быть осведомлены о нескольких каталогах и файлах в Android проекте:
AndroidManifest.xml файл манифеста описывает основные характеристики приложения и определяет каждый из его компонентов. Вы узнаете о различных объявлениях в этом файле по мере изучения учебных курсов.Одним из наиболее важных элементов, который ваш манифеста должен включать является элемент. Он заявляет о совместимости вашего приложения с различными версиями Android, используя android:minSdkVersion и android:targetSdkVersion атрибуты. Для вашего первого приложения, оно должно выглядеть следующим образом:
Вы всегда должны устанавливать android:targetSdkVersion как можно более высоким и протестировать приложение на соответствующей версии платформы. Для получения дополнительной информации, читайте Поддержка различных версий платформы. src/ Каталог для основных исходных файлов вашего приложения. По умолчанию, он включает в себя Activity класс, который запускается, когда ваше приложение запускается с помощью значка приложения. res/ Содержит несколько вложенных каталогов, в которых размещаются ресурсы приложения. Вот только некоторые из них:
drawable-hdpi/ Каталог для рисуемых объектов (например, растровых изображений), которые предназначены для высокой плотности (hdpi) экранов. Другие drawable каталоги содержат наборы, предназначенные для других плотностей экрана. layout/ Каталог для файлов, которые определяют пользовательский интерфейс вашего приложения. values/ Каталог для других различных XML-файлов, которые содержат коллекцию ресурсов, таких как строки и цветовые определения.
Когда вы собираете и запускаете Android приложение по умолчанию, созданный по умолчанию Activity класс запускается и загружает файл макета, который говорит “Hello World”. В результате ничего захватывающего, но важно, что вы понимаете, как запускать приложения, прежде чем вы приступите к разработке.
Как запустить android-приложение на реальном устройстве
Если у вас есть реальное Android устройство, вот как вы можете установить и запустить приложение:
- Подключите ваш смартфон к компьютеру с помощью кабеля USB. Если вы разрабатываете на Windows, вам может потребоваться установить соответствующий драйвер USB для вашего устройства. Для получения справки по установке драйверов см. Драйвера OEM USB.
- Включите Отладка через USB на вашем устройстве.
- На большинстве устройств под управлением Android 3.2 или старше, вы можете найти опцию вНастройки > Приложения > Разработка.
- На Android 4.0 и новее, это находится в Настройки > Для разработчиков. Примечание: На Android 4.2 и новее, Для разработчиков по умолчанию скрыт. Чтобы сделать его доступным, перейдите к Настройки > О телефоне и нажмите Номер сборки семь раз. Вернитесь к предыдущему экрану, чтобы найти Для разработчиков.
Как запустить android-приложение из Android Studio:
Откройте один из файлов вашего проекта и нажмите Run app на панели инструментов. Или нажмите комбинацию клавиш Shift+F10.
Откроется окно выбора подключенного реального устройства или эмулятора. Android Studio устанавливает приложение на выбранное устройство и запускает его.
Как запустить android-приложение из Eclipse

- Откройте один из файлов вашего проекта и нажмите Запуститьна панели инструментов.
- В окне Запуск от имени , которое появляется, выберите Android Application и нажмите OK.
Eclipse устанавливает приложение на подключенное устройство и запускает его.
Или для запуска приложения из командной строки:
-
Перейдите в корневой каталог вашего Android проекта и выполните:
ant debug
adb install bin/MyFirstApp-debug.apk
Вот как собрать и запустить Android приложение на устройстве! Чтобы приступить к разработке читайте cледующий урок.
Как запустить android-приложение на эмуляторе
Используете ли Вы, Android Studio, Eclipse или командную строку, чтобы запустить свое приложение на эмуляторе нужно сначала создать виртуальное устройство Android (AVD от английского Android Virtual Device). AVD является конфигурацией устройства для Android эмулятора, который позволяет моделировать различные устройства.
Для создания AVD:

- Запустите Android Virtual Device Manager :
- В Android Studio нажмите значок AVD Manager на панели инструментов.
- В Eclipse, нажмите Android Virtual Device Manager на панели инструментов.
- Из командной строки, перейдите в каталог /tools/ и выполните:
android avd



Чтобы запустить приложение из Eclipse:

- Откройте один из файлов вашего проекта и нажмите Запуститьна панели инструментов.
- В окне Запуск от имени , которое появляется, выберите Android Application и нажмите OK.
Eclipse устанавливает приложение на AVD и запускает его.
Как запустить android-приложение из командной строки
Или запустите приложение из командной строки:
-
Перейдите в корневой каталог вашего Android проекта и выполните:
ant debug
adb install bin/MyFirstApp-debug.apk
Вот как собрать и запустить Android приложение на эмуляторе! Чтобы приступить к разработке читайте cледующий урок.
Если не указано иное, этот контент распространяется под лицензией Creative Commons Attribution 2.5. Для получения дополнительной информации и ограничений, см. Лицензия контента.
Вам також може сподобатися

Инструменты android разработчика 0 9 003
В последнее время для запуска андроид-приложений в процессе разработки я пользуюсь эмулятором Visual Studio

Дизайн android приложений 0 4 972
Введение Одним из наиболее интересных аспектов материального дизайна является визуальная преемственность окон приложения. С

Уроки по android разработке на Java 0 1 383
[:ru]В этом уроке о том, как вывести список всех музыкальных файлов в памяти устройства. С получением

Архитектура андроид-приложений 0 12 887
Это перевод первой части из цикла об интеграции ViewModel c Koltin Coroutines, Data Binding

Продвинутые курсы по разработке мобильных приложений на Android 88 5 569
В этом курсе вы узнаете, как создать мобильное приложение для Ютуба, встроить рекламу и

Уроки по android разработке на Java 0 124
На этой неделе в субботу, 9 апреля, в 8 часов вечера ребята из команды
Додати коментар Скасувати відповідь
Щоб відправити коментар вам необхідно авторизуватись.
Где находится файл .apk в Android Studio?

Не подписывается файл apk после обновления Android Studio
Столкнулся с вот какой проблемой. Обновил Android Studio до версии 2.3, gradle до 3.3 Вроде бы все.
Где находится файл csc.exe у Microsoft Visual Studio 2008?
Задаю не новый вопрос, но всё же. Где находится файл csc.exe у Microsoft Visual Studio 2008.
Открытие apk в Android Studio
Каким способом можно открыть apk в программе? просто надо проверить антивирус, а он засекает.
Скомпилировать apk в Android Studio
У меня есть проект, который я разрабатывал в Visual Studio. Сейчас мне надо создать апк файл для.

