Как найти и извлечь APK установленного приложения
APK установленных приложений обычно лежит в /data/app (пользовательские) или в /system, /product, /vendor (системные). Извлечь можно через ADB, специальный APK‑экстрактор или напрямую при наличии root.
Где Android хранит APK
- Пользовательские приложения: /data/app/
- /base.apk - Системные приложения: /system/app/ и /system/priv-app/
- Доп. каталоги на некоторых прошивках: /product/app/, /vendor/app/
- Split‑APK и динамические модули: помимо base.apk могут быть split_config.*.apk и другие файлы в той же папке.
Доступ к /data и /system обычно ограничен без root. Если вы только скачали APK и не устанавливали — ищите его в папке Download (/sdcard/Download).
Если приложение использует split‑APK или Play Feature Delivery, одного base.apk может быть недостаточно для корректной установки на другом устройстве.
Как извлечь APK без root
-
Через приложение‑экстрактор (быстро и удобно)
- Установите APK Extractor / ML Manager / App Backup & Restore.
- Откройте, выберите приложение в списке и нажмите «Extract» / «Save APK».
- Файл обычно появится в /sdcard/ или /Android/data/
/.
-
Через ADB (требуется компьютер и включённая отладка по USB)
- Включите «Параметры разработчика» → «Отладка по USB».
- На компьютере выполните:
- Получить путь: adb shell pm path com.example.app
(вернёт: package:/data/app/.../base.apk или несколько путей для split‑apk) - Скопировать: adb pull /data/app/.../base.apk ./com.example.app.apk
- Получить путь: adb shell pm path com.example.app
- Если команда
pm pathвернула несколько файлов, скачайте все перечисленные пути.
Преимущества без root: не нужно ломать систему, безопасно для гарантии и проще для большинства пользователей.
Чтобы регулярно сохранять версии приложений, настройте автоматическое сохранение в экстракторе или делайте резервную копию через ADB перед обновлениями.
Как извлечь APK при наличии root
-
Через файловый менеджер с root (MiXplorer, Root Explorer и т.п.):
- Выдайте root‑права приложению.
- Перейдите в /data/app/ или /system/app/ и найдите папку по имени пакета.
- Скопируйте base.apk в /sdcard/Backups/ и затем сохраните на ПК.
-
Через ADB с su:
- Подключите устройство и выполните:
- adb shell
- su
- cp /data/app/.../base.apk /sdcard/com.example.app.apk
- exit; exit
- adb pull /sdcard/com.example.app.apk .
- Root позволяет получить все части split‑apk и системные версии напрямую.
- Подключите устройство и выполните:
Не удаляйте и не перемещайте файлы из /system или /data без точного понимания — это может привести к сбоям или бутлупу устройства.
Частые ошибки
- Попытка установить изменённый APK поверх оригинала — потребуется удалить старую версию из‑за подписи.
- Копирование только base.apk для сложного split‑apk приложения — приложение может не установиться.
- Ожидание увидеть /data в обычном файловом менеджере без root — каталог скрыт системой.
- Игнорирование прав: некоторые приложения шифруют ресурсы или проверяют подпись на сервере.
FAQ
-
Можно ли установить извлечённый APK на другой телефон?
Да, если у APK совпадает архитектура и у вас все необходимые split‑файлы; однако если приложение привязано к подписи или использует server‑side проверки, запуск может быть ограничен. -
Как узнать имя пакета приложения?
Через «Настройки» → «Приложения» (в некоторых прошивках) или с помощью App Inspector / Package Name Viewer. Через ADB:adb shell pm list packages | grep <часть_имени>. -
Нужно ли root для всех операций?
Нет. Большинство пользователей могут извлечь APK с помощью экстракторов или ADB без root. Root даёт полный доступ, но несёт риски. -
Что делать, если
pm pathне возвращает путь?
Убедитесь, что устройство подключено, разрешена отладка по USB и пакет установлен. Для системных приложений команда всё равно должна вернуть путь; если нет — попробуйте выполнить с правами root.
Если нужно, пришлите модель телефона, наличие/отсутствие root и пример пакета — подготовлю точную пошаговую команду под ваш сценарий.