Извлечение APK-файлов из установленных приложений Android

A smartphone with app icons and a tray pulling out an app, illustrating extracting APKs

Юридическая информация и уведомление о безопасности: Эта статья предназначена только для образовательных целей. Извлечение APK с устройства предназначено для личного резервного копирования приложений вы уже легально установили на свое устройство. XAPK to APK не размещает, не распространяет, не ссылается и не облегчает доступ к защищенным авторским правом, платным или пиратским приложениям. Распространение извлеченных APK-файлов платных приложений или приложений, защищенных авторским правом, запрещено. Полные условия см. в нашем Отказ от ответственности.

У вас на телефоне есть замечательное приложение, на настройку которого вы потратили несколько часов, а потом узнали, что его удалили из Play Store. Или, может быть, вы переходите на новое устройство и на всякий случай хотите иметь автономную копию своих любимых инструментов. Решением проблемы является Извлечение APK-файлов из установленных на данный момент приложений.

Ниже мы рассмотрим, как извлечь APK из вашего телефона без рута, где это пригодится для резервного копирования и как потом проверить извлеченный файл с помощью нашего инструменты онлайн-анализа.

Ключевые выводы

  • Вы можете извлечь APK-файл практически любого приложения непосредственно из внутренней памяти вашего устройства.
  • Современные приложения часто используют Разделить APK-файлы, для чего требуется специальный экстрактор.
  • Доступ root (суперпользователя) обычно не требуется для резервного копирования стандартных приложений.
  • После извлечения вы можете перенести файл на SD-карту, ПК или в облачное хранилище.

Зачем извлекать APK?

Прежде чем перейти к вопросу «как», вот почему вам следует поддерживать библиотеку резервных копий APK:

Способ 1: использование приложения APK Extractor (без рута)

The easiest way is to use a dedicated utility. В магазине Play Store доступны десятки приложений «APK Extractor». Эти инструменты работают, находя путь установки приложения в /data/app/ (который доступен для чтения, но обычно скрыт) и копируя base.apk в общедоступную папку загрузки.

Шаги:

  1. Установите надежный APK Extractor.
  2. Откройте приложение и предоставьте «Разрешения на хранение», если потребуется.
  3. Прокрутите список всех установленных приложений.
  4. Нажмите на приложение, которое хотите сохранить.
  5. Инструмент мгновенно скопирует APK во внутреннюю память.

Обработка разделенных APK-файлов

Если вы извлекаете сложное приложение, такое как Facebook или WhatsApp, вы можете найти несколько файлов .apk вместо одного. Это Разделить APK-файлы. Чтобы их использовать, вам понадобится наш Инструмент объединения APKS/APKM, чтобы объединить их в один файл.

Способ 2: ручное извлечение через ADB (расширенный).

Если вы не хотите устанавливать дополнительные приложения на свой телефон, вы можете использовать ПК с Мост отладки Android (ADB):

  1. Подключите телефон к компьютеру через USB и включите отладку по USB.
  2. Откройте терминал и введите: adb shell pm path com.example.app.
  3. Это покажет путь. Пример: package:/data/app/com.example.app/base.apk
  4. Тип: adb pull /data/app/com.example.app/base.apk ./backup.apk
  5. Файл теперь на вашем компьютере!

Что вы на самом деле получаете, когда извлекаете

«Установленное» Android-приложение больше не хранится на устройстве в виде отдельного APK, особенно если оно поступило из Play Store в виде пакета Android App Bundle. При извлечении вы можете получить один файл или несколько, и знание разницы поможет вам решить, что сохранить:

Если ваша цель — портативная резервная копия, которая будет установлена ​​на другое устройство, вам обычно нужен либо (а) объединенный «универсальный APK», созданный с помощью нашего Объединение APKS и APK, либо (б) все разделенные файлы заархивированы вместе, чтобы установщик разделенных APK, такой как SAI, мог восстановить их как единое целое.

Как работает извлечение (без рута, за кулисами)

Большинству приложений «APK-экстрактор» фактически не требуется root, поскольку Android предоставляет установленные файлы пакетов через путь чтения на системном уровне. Стандартный поток:

  1. Приложение-экстрактор вызывает PackageManager.getPackageInfo(package, ...), чтобы получить список установленных приложений.
  2. Для выбранного приложения он читается как ApplicationInfo.sourceDir (путь к базовому APK, обычно /data/app/<package>-<hash>/base.apk) и splitSourceDirs (пути к любым разбиениям конфигурации).
  3. Установленный пользователем экстрактор не может читать эти пути напрямую, но механизм FileProvider в Android позволяет системным компонентам предоставлять временный доступ для чтения к определенным URI. ОС позволяет любому приложению открывать свои собственные APK и APK других приложений по URI; это сделано намеренно, поскольку путь установки всегда должен был быть доступен для чтения всем для таких задач, как удаление и обновление.
  4. Экстрактор копирует байты в доступный для записи каталог пользователя (загрузки, папку кэша приложения или внешнее хранилище) и представляет их в виде файла для совместного использования или установки.

Методы только для root (su; cp /data/app/...) обходят API и напрямую считывают необработанные пути. Они не работают быстрее и не нужны для несистемных приложений.

Извлечение через ADB (рекомендуется для резервных копий)

Самый чистый рабочий процесс, не связанный с приложениями, — это ADB, который большинство разработчиков уже настроили. Всю работу выполняют две команды:

# 1. Find the on-device path(s) for the package
adb shell pm path com.example.app

# Output (single APK):
#   package:/data/app/~~hash==/com.example.app-1/base.apk
#
# Output (split APKs):
#   package:/data/app/~~hash==/com.example.app-1/base.apk
#   package:/data/app/~~hash==/com.example.app-1/split_config.arm64_v8a.apk
#   package:/data/app/~~hash==/com.example.app-1/split_config.xxhdpi.apk
#   package:/data/app/~~hash==/com.example.app-1/split_config.en.apk

# 2. Pull each path
adb pull /data/app/~~hash==/com.example.app-1/base.apk ./

Для приложений с разделенными APK повторите adb pull для каждого пути. Чтобы получить один установочный файл, закиньте их все на наш Объединение APKS и APK.

Что нельзя извлечь

При извлечении возвращаются установочные файлы приложения. нет возвращает:

Таким образом, извлечение полезно для случаев использования «Я хочу, чтобы копия установщика всегда была под рукой», но не заменяет правильное резервное копирование всего устройства (для которого требуются инструменты root или поставщика).

Анализируйте извлеченные APK-файлы

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

Начать анализ APK

Часто задаваемые вопросы (FAQ)

Включает ли извлечение приложения мои данные для входа?

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

Могу ли я извлечь системные приложения, такие как YouTube?

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

Куда идут извлеченные APK?

Большинство приложений-экстракторов сохраняют файлы в папку с именем Извлеченные APK-файлы или Скачать во внутренней памяти вашего телефона.

Резервное копирование установленных приложений без потери разделенных конфигураций

Создание собственного локального репозитория приложений — это самый надежный способ никогда не терять доступ к любимым инструментам. Удобное приложение и терминал ADB помогут вам в этом, и в любом случае извлечение APK-файлов — это безопасный и практичный способ управления вашим устройством Android. После резервного копирования библиотеки найдите время для проверить подписи этих резервных копий, чтобы быть уверенными, что они останутся неизменными с течением времени.

Разработано и задокументировано Мстом Шафале Ведущий разработчик и архитектор пакетов Android • Проверено на Android 12–15.

Мст Шаефале поддерживает клиентское слияние XAPK/APKS, анализатор двоичных манифестов и инструменты подписи APK v1+v2 по адресу xapktoapk.com. Обнаружили устаревшую команду или изменение ОС? Отправить редакционную заметку.