Витягування файлів APK із встановлених програм Android
Юридичне повідомлення та повідомлення про безпеку: Ця стаття призначена лише для освітніх цілей. Розпакування APK з пристрою призначене для персонального резервного копіювання програм ви вже законно встановили на свій пристрій. XAPK до APK не розміщує, не розповсюджує, не посилає та не полегшує доступ до захищених авторським правом, платних або піратських програм. Заборонено розповсюджувати витягнуті файли .apk платних або захищених авторським правом програм. Перегляньте наші Відмова від відповідальності для повних умов.
На вашому телефоні є дивовижна програма, яку ви витратили години на налаштування, а потім дізналися, що її видалено з Play Store. Або, можливо, ви переходите на новий пристрій і на всякий випадок хочете отримати офлайн-копію ваших улюблених інструментів. Розпакування файлів APK із ваших наразі встановлених програм — це рішення.
Нижче ми розповімо про те, як отримати файл APK із вашого телефону без root-доступу, де це стане в нагоді для резервного копіювання та як перевірити розпакований файл пізніше за допомогою нашого онлайн інструменти аналізу.
Ключові висновки
- Ви можете розпакувати файл APK практично будь-якої програми безпосередньо з внутрішньої пам’яті свого пристрою.
- Сучасні програми часто використовують Розділити APK, для чого потрібен спеціальний екстрактор.
- Кореневий доступ (суперкористувач) зазвичай не вимагається для резервного копіювання стандартних програм.
- Після вилучення ви можете перенести файл на SD-карту, ПК або хмарне сховище.
Навіщо видобувати APK?
Перш ніж переходити до «як», ось чому вам слід підтримувати бібліотеку резервних копій APK:
- Зберегти припинені програми: Якщо розробник видалить свою програму з магазину, ви все одно матимете свою копію для встановлення.
- Підтримка застарілого обладнання: Зберігайте версії, які працюють на вашому старішому планшеті, коли офіційний додаток оновлюється, щоб вимагати нових версій Android.
- Відкат версії: Якщо в оновленні виявлено помилки, ви можете перевстановити роздобуту резервну копію та повернутися до роботи.
- Спільний доступ до програми: Надішліть певну версію програми другові через Bluetooth або кабель без використання мобільних даних.
Спосіб 1. Використання програми APK Extractor (без root-прав)
Найпростіше скористатися спеціальною утилітою. У магазині Play доступні десятки програм «APK Extractor». Ці інструменти працюють, знаходячи шлях встановлення програми в /data/app/ (який читається, але зазвичай прихований) і копіюють base.apk у вашу загальнодоступну папку завантажень.
Кроки:
- Установіть надійний APK Extractor.
- Відкрийте програму та надайте «Дозволи на зберігання», якщо потрібно.
- Прокрутіть список усіх встановлених програм.
- Торкніться програми, яку потрібно зберегти.
- Інструмент миттєво скопіює APK у вашу внутрішню пам’ять.
Обробка розділених APK
Якщо ви роздобудете складну програму, як-от Facebook або WhatsApp, ви можете знайти кілька файлів .apk замість одного. Це Розділити APK. Щоб використовувати їх, вам знадобиться наш Інструмент злиття APKS/APKM, щоб об’єднати їх в один файл.
Спосіб 2: Вилучення вручну через ADB (розширений)
Якщо ви не хочете встановлювати додаткові програми на свій телефон, ви можете використовувати ПК із Android Debug Bridge (ADB):
- Підключіть телефон до ПК через USB і ввімкніть USB Debugging.
- Відкрийте термінал і введіть: adb shell pm path com.example.app
- Це покаже шлях. Приклад: package:/data/app/com.example.app/base.apk
- Тип: adb pull /data/app/com.example.app/base.apk ./backup.apk
- Файл тепер на вашому ПК!
Що ви насправді отримуєте, коли видобуваєте
«Встановлена» програма Android більше не зберігається на пристрої як окремий APK, особливо якщо вона надійшла з Play Store як Android App Bundle. Під час розпаковування ви можете отримати один або кілька файлів, і знання різниці допоможе вам вирішити, що зберегти:
- Один базовий APK. Старіші або менші програми, які було завантажено в Play як простий файл .apk, усе ще встановлюються як один файл. Екстракція повертає один .apk, який є автономним.
- Базовий файл APK + кілька конфігурацій. Програми, опубліковані як AAB, встановлюються як кілька файлів APK поруч: base.apk плюс split_config.<abi>.apk (власний код для вашого ЦП), split_config.<density>.apk (ресурси для вашого екрана) і split_config.<language>.apk (рядки для вашої мови). Екстракція повертає їх усіх. Щоб повторно встановити ту саму програму на тому самому пристрої, вам знадобляться всі.
- Інколи дані пакетів активів. Сучасні ігри, які використовують Play Asset Delivery, зберігають великі ігрові ресурси в приватному кеші програми поза самими файлами .apk. Зазвичай їх неможливо експортувати за допомогою звичайного екстрактора; пакети ресурсів призначені для повторного отримання під час першого запуску.
Якщо вашою метою є портативна резервна копія, яку буде встановлено на іншому пристрої, зазвичай вам потрібен або (а) об’єднаний «універсальний APK», створений за допомогою нашого Об’єднання APKS в APK, або (б) усі розділені файли, заархівовані разом, щоб програма встановлення розділених APK, наприклад SAI, могла відновити їх як одиницю.
Як працює видобуток (без кореня, за лаштунками)
Більшість програм «APK Extractor» насправді не потребують root-права, тому що Android відкриває встановлені файли пакетів через шлях читання на системному рівні. Стандартний потік:
- Програма екстрактора викликає PackageManager.getPackageInfo(package, ...), щоб отримати список встановлених програм.
- Для вибраного додатка читається ApplicationInfo.sourceDir (шлях до базового файлу APK, зазвичай /data/app/<package>-<hash>/base.apk) і splitSourceDirs (шляхи будь-яких розділень конфігурації).
- Інсталятор, встановлений користувачем, не може безпосередньо прочитати ці шляхи, але механізм FileProvider в Android дозволяє компонентам системи надавати тимчасовий доступ для читання до певних URI. ОС робить дозволяє будь-якій програмі відкривати свої файли APK власні та файли APK інших програм за URI; це зроблено навмисно, оскільки шлях встановлення завжди мав бути доступним для читання для таких завдань, як видалення та оновлення.
- Екстрактор копіює байти в доступний для запису каталог користувача (завантаження, папку кешу в програмі або зовнішню пам’ять) і представляє їх як файл для спільного використання або встановлення.
Кореневі методи (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.
Що не можна витягти
Витяг повертає інсталяційні файли програми. Це повертає ні:
- Дані програми: налаштування, бази даних, збереження файлів. Вони живуть під /data/data/<package>/ і захищені від некорневого вилучення пісочницею даних користувача.
- Грайте в набори ресурсів Asset Delivery: завантажено під час першого запуску, збережено в приватному кеші та очікується повторне отримання, якщо його немає.
- Хмарний прогрес: якщо програма використовує Google Play Games, Firebase або щось подібне, частина, що зберігається в хмарі, знаходиться на серверах видавця, а не на вашому пристрої.
Таким чином, видобування добре підходить для випадків використання типу «Я хочу мати копію інсталятора», але не замінює належне резервне копіювання всього пристрою (для якого потрібен root або інструменти постачальника).
Проаналізуйте роздобуті файли APK
Створивши резервні копії програм, скористайтеся нашим онлайн-пакетом, щоб перевірити їхні метадані, піктограми та дозволи.
Запустіть аналіз APKЧасті запитання (FAQ)
Чи включає розпакування програми мої дані для входу?
Ні. Екстракція копіює лише код програми та ресурси. З міркувань безпеки він не включає ваші особисті дані облікового запису, паролі чи налаштування.
Чи можу я розпакувати системні програми, такі як YouTube?
так Однак деякі системні програми можуть сильно залежати від певних версій ОС і не встановлюватися належним чином на інших пристроях.
Куди йдуть видобуті файли APK?
Більшість програм для видобування зберігають файли в папці під назвою Роздобуті файли APK або Завантажити у внутрішній пам’яті телефону.
Резервне копіювання встановлених програм без втрати розділених конфігурацій
Створення власного локального сховища додатків — це найнадійніший спосіб ніколи не втратити доступ до улюблених інструментів. Зручний додаток і термінал ADB допоможуть вам це зробити, і в будь-якому випадку витяг файлів APK — це безпечний і практичний спосіб керувати своїм пристроєм Android. Після створення резервної копії вашої бібліотеки приділіть хвилинку перевірити підписи цих резервних копій, щоб знати, що вони залишаються незмінними з часом.