Extrahovanie súborov APK z vašich nainštalovaných aplikácií pre Android

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

Právne a bezpečnostné upozornenie: Tento článok slúži len na vzdelávacie účely. Extrahovanie APK zo zariadenia je určené na osobné zálohovanie aplikácií ste už legálne nainštalovali na zariadení, ktoré vlastníte. XAPK to APK nehostuje, nedistribuuje, neprepája ani neuľahčuje prístup k aplikáciám chráneným autorskými právami, plateným alebo pirátskym aplikáciám. Redistribúcia extrahovaných súborov APK platených aplikácií alebo aplikácií chránených autorskými právami nie je povolená. Úplné znenie podmienok nájdete v našej Vylúčenie zodpovednosti.

V telefóne máte úžasnú aplikáciu, ktorej nastavovaním ste strávili hodiny, len aby ste zistili, že bola odstránená z Obchodu Play. Alebo možno prechádzate na nové zariadenie a chcete offline kópiu svojich obľúbených nástrojov pre každý prípad. Riešením je Extrahovanie súborov APK z aktuálne nainštalovaných aplikácií.

Nižšie uvádzame vytiahnutie súboru APK z telefónu bez root, kde sa to hodí pri zálohovaní a ako následne skontrolovať extrahovaný súbor pomocou nášho online analytické nástroje.

Kľúčové poznatky

  • Súbor APK takmer akejkoľvek aplikácie môžete extrahovať priamo z internej pamäte zariadenia.
  • Moderné aplikácie často používajú Rozdeliť súbory APK, ktoré vyžadujú špecializovaný extraktor.
  • Root (Superuser) prístup je vo všeobecnosti nevyžaduje sa na zálohovanie štandardných aplikácií.
  • Po extrakcii môžete súbor preniesť na SD kartu, PC alebo cloudové úložisko.

Prečo extrahovať súbory APK?

Pred skokom do „ako“ by ste mali udržiavať záložnú knižnicu APK:

Metóda 1: Použitie aplikácie APK Extractor (bez koreňa)

Najjednoduchším spôsobom je použiť špeciálny nástroj. V Obchode Play sú k dispozícii desiatky aplikácií „APK Extractor“. Tieto nástroje fungujú tak, že nájdu cestu inštalácie aplikácie v /data/app/ (ktorá je čitateľná, ale zvyčajne skrytá) a skopírujú base.apk do vášho verejného priečinka na stiahnutie.

Kroky:

  1. Nainštalujte si renomovaný APK Extractor.
  2. Otvorte aplikáciu a na požiadanie udeľte „Povolenia na ukladanie“.
  3. Prechádzajte zoznamom všetkých nainštalovaných aplikácií.
  4. Klepnite na aplikáciu, ktorú chcete uložiť.
  5. Nástroj okamžite skopíruje súbor APK do vášho interného úložiska.

Spracovanie rozdelených súborov APK

Ak extrahujete komplexnú aplikáciu, ako je Facebook alebo WhatsApp, môžete nájsť niekoľko súborov .apk namiesto jedného. Toto sú Rozdeliť súbory APK. Ak ich chcete použiť, budete potrebovať náš Nástroj na zlúčenie APKS/APKM, ktorý ich spojí do jedného súboru.

Metóda 2: Manuálna extrakcia cez ADB (pokročilé)

Ak si do telefónu nechcete inštalovať ďalšie aplikácie, môžete použiť počítač so Android Debug Bridge (ADB):

  1. Pripojte telefón k počítaču cez USB a povoľte ladenie USB.
  2. Otvorte terminál a zadajte: adb shell pm path com.example.app
  3. Toto ukáže cestu. Príklad: package:/data/app/com.example.app/base.apk
  4. Typ: adb pull /data/app/com.example.app/base.apk ./backup.apk
  5. Súbor je teraz na vašom PC!

Čo vlastne získate, keď extrahujete

„Nainštalovaná“ aplikácia pre Android už nie je uložená v zariadení ako jeden súbor APK, najmä ak pochádza z Obchodu Play ako balík Android App Bundle. Pri extrahovaní môžete získať jeden alebo viacero súborov a poznanie rozdielu vám pomôže rozhodnúť sa, čo si ponechať:

Ak je vaším cieľom prenosná záloha, ktorá sa nainštaluje na iné zariadenie, zvyčajne chcete buď (a) zlúčený „univerzálny súbor APK“ vyrobený s naším Zlúčenie APKS do APK, alebo (b) všetky rozdelenia archivované spolu, aby ich inštalátor rozdelených súborov APK, ako napríklad SAI, mohol obnoviť ako jednotku.

Ako funguje extrakcia (bez koreňa, zo zákulisia)

Väčšina aplikácií "APK extractor" v skutočnosti nepotrebuje root, pretože Android odhaľuje nainštalované súbory balíkov prostredníctvom cesty na čítanie na úrovni systému. Štandardný tok je:

  1. Aplikácia extraktora zavolá PackageManager.getPackageInfo(package, ...), aby získala zoznam nainštalovaných aplikácií.
  2. Pre vybranú aplikáciu číta ApplicationInfo.sourceDir (cesta základného súboru APK, zvyčajne /data/app/<package>-<hash>/base.apk a splitSourceDirs (cesty akýchkoľvek konfiguračných rozdelení)).
  3. Používateľom nainštalovaný extraktor nemôže čítať tieto cesty priamo, ale mechanizmus FileProvider v systéme Android umožňuje systémovým komponentom poskytnúť dočasný prístup na čítanie ku konkrétnym identifikátorom URI. OS robí umožňuje ľubovoľnej aplikácii otvárať súbory APK vlastné a súbory APK iných aplikácií podľa URI; je to zámerné, pretože inštalačná cesta bola vždy určená na to, aby bola čitateľná pre všetky úlohy, ako je odinštalovanie a aktualizácia.
  4. Extraktor skopíruje bajty do zapisovateľného používateľského adresára (stiahnuté súbory, priečinok vyrovnávacej pamäte v aplikácii alebo externé úložisko) a prezentuje ich ako súbor na zdieľanie alebo inštaláciu.

Metódy typu root (su; cp /data/app/..). obchádzajú rozhranie API a priamo čítajú nespracované cesty. Nie sú rýchlejšie a nie sú potrebné pre nesystémové aplikácie.

Extrakcia cez ADB (odporúča sa pre zálohy)

Najčistejším pracovným postupom mimo aplikácie je ADB, ktorý už väčšina vývojárov nastavila. Celú prácu vykonávajú dva príkazy:

# 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 ./

V prípade aplikácií s rozdeleným súborom APK zopakujte adb pull pre každú cestu. Ak chcete získať jeden inštalovateľný súbor, vložte ich všetky do nášho Zlúčenie APKS do APK.

Čo sa nedá extrahovať

Extrakcia vráti inštalačné súbory aplikácie. Vráti nie:

Extrakcia je preto vhodná pre prípady použitia typu „Chcem mať kópiu inštalačného programu“, ale nie je náhradou za správne zálohy celého zariadenia (ktoré vyžadujú nástroje root alebo dodávateľa).

Analyzujte svoje extrahované súbory APK

Po zálohovaní aplikácií použite náš online balík na kontrolu ich metadát, ikon a povolení.

Spustite analýzu APK

Často kladené otázky (FAQ)

Obsahuje extrahovanie aplikácie moje prihlasovacie údaje?

Nie. Extrakcia kopíruje iba kód aplikácie a zdroje. Z bezpečnostných dôvodov nezahŕňa údaje o vašom osobnom účte, heslá ani nastavenia.

Môžem extrahovať systémové aplikácie ako YouTube?

áno. Niektoré systémové aplikácie však môžu byť hlboko závislé od konkrétnych verzií OS a nemusia sa správne nainštalovať na iné zariadenia.

Kam idú extrahované súbory APK?

Väčšina aplikácií na extrakciu ukladá súbory do priečinka s názvom Extrahované súbory APK alebo Stiahnuť vo vnútornej pamäti telefónu.

Zálohovanie nainštalovaných aplikácií bez straty rozdelených konfigurácií

Vytvorenie vlastného lokálneho úložiska aplikácií je najistejším spôsobom, ako nikdy nestratíte prístup k nástrojom, ktoré máte radi. Aplikácia vhodná na klepnutie a terminál ADB vás tam dostanú a v oboch smeroch je extrahovanie súborov APK bezpečný a praktický spôsob spravovania vášho zariadenia Android. Po zálohovaní knižnice si nájdite chvíľku overiť podpisy týchto záloh, aby ste vedeli, že časom zostanú nezmenené.

Navrhol a zdokumentoval Mst Shaefale Vedúci vývojár a architekt balíkov Android • Overené na Android 12–15

Mst Shaefale spravuje nástroj na zlučovanie XAPK/APKS na strane klienta, analyzátor binárnych manifestov a nástroje na podpisovanie APK v1+v2 na xapktoapk.com. Všimli ste si zastaraný príkaz alebo zmenu operačného systému? Pošlite redakčnú poznámku.