APK-fájlok kibontása a telepített Android-alkalmazásokból

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

Jogi és biztonsági megjegyzés: Ez a cikk csak oktatási célokat szolgál. Az APK kibontása az eszközről a már legálisan telepítette a tulajdonában lévő eszközre alkalmazások személyes biztonsági mentésére szolgál. Az XAPK to APK nem tartalmaz szerzői joggal védett, fizetős vagy kalóz alkalmazásokat, nem terjeszt, nem hivatkozik rájuk, és nem könnyíti meg a hozzáférést. A fizetős vagy szerzői joggal védett alkalmazások kivonatolt APK-inak újraterjesztése nem megengedett. A teljes feltételekért lásd a Jogi nyilatkozat oldalunkat.

Van egy csodálatos alkalmazás a telefonodon, amelynek beállításával órákat töltöttél, de aztán megtudta, hogy eltávolították a Play Áruházból. Vagy lehet, hogy új eszközre vált, és minden esetre szeretné kedvenc eszközeinek offline példányát. A jelenleg telepített alkalmazásaiból származó APK fájlok kibontása a megoldás.

Az alábbiakban végignézzük, hogyan húzz le egy APK-t a telefonról root nélkül, ahol ez jól jön biztonsági mentéshez, és hogyan ellenőrizheted a kibontott fájlt a online elemző eszközök eszközzel.

Kulcs elvitelek

  • Szinte minden alkalmazás APK-fájlját kibonthatja közvetlenül az eszköz belső tárhelyéről.
  • A modern alkalmazások gyakran Osztott APK-k-t használnak, amelyekhez speciális elszívó szükséges.
  • A root (szuperfelhasználói) hozzáférés általában nem kötelező a szabványos alkalmazások biztonsági mentéséhez.
  • A kibontás után átviheti a fájlt SD-kártyára, számítógépre vagy felhőtárhelyre.

Miért kell kibontani az APK-kat?

Mielőtt belevágna a „hogyan”, a következő okok miatt érdemes fenntartani egy APK biztonsági mentési könyvtárat:

1. módszer: APK Extractor alkalmazás használata (nincs gyökér)

A legegyszerűbb módja egy dedikált segédprogram használata. Tucatnyi „APK Extractor” alkalmazás érhető el a Play Áruházban. Ezek az eszközök úgy működnek, hogy megtalálják az alkalmazás telepítési útvonalát a /data/app/-ben (ami olvasható, de általában rejtett), és a base.apk fájlt a nyilvános letöltési mappába másolják.

Lépések:

  1. Telepítsen egy jó hírű APK Extractort.
  2. Nyissa meg az alkalmazást, és kérésre adja meg a „Tárolási engedélyeket”.
  3. Görgessen végig az összes telepített alkalmazás listáján.
  4. Érintse meg a menteni kívánt alkalmazást.
  5. Az eszköz azonnal átmásolja az APK-t a belső tárhelyére.

Osztott APK-k kezelése

Ha kibont egy összetett alkalmazást, például a Facebookot vagy a WhatsApp-ot, előfordulhat, hogy egy helyett több .apk-fájlt talál. Ezek a Osztott APK-k. Használatukhoz szüksége lesz a APKS/APKM egyesítő eszköz-re, hogy egyetlen fájlba egyesítse őket.

2. módszer: Kézi kivonás ADB-n keresztül (speciális)

Ha nem szeretne további alkalmazásokat telepíteni telefonjára, használhatja a Android Debug Bridge (ADB)-vel rendelkező számítógépet:

  1. Csatlakoztassa telefonját a számítógépéhez USB-n keresztül, és engedélyezze az USB hibakeresést.
  2. Nyisson meg egy terminált, és írja be: adb shell pm path com.example.app
  3. Ez megmutatja az utat. Példa: package:/data/app/com.example.app/base.apk
  4. Típus: adb pull /data/app/com.example.app/base.apk ./backup.apk
  5. A fájl most a számítógépén van!

Amit valójában kapsz, ha kivonod

A telepített Android-alkalmazások ma már gyakran nem egyetlen APK-fájlként tárolódnak az eszközön, különösen akkor, ha a Play Áruházból Android App Bundle csomagként érkeztek. Kinyeréskor egy vagy több fájlt is kaphat, és a különbség ismerete segít eldönteni, mit érdemes megtartani:

Ha a cél egy hordozható biztonsági másolat, amely egy másik eszközre is telepíthető, akkor általában vagy (a) egy egyesített "univerzális APK-t" szeretne, amelyet a APKS-APK egyesülés-nkkel készítünk, vagy (b) az összes felosztást együtt archiválja, hogy egy osztott APK-telepítő, például a SAI egységként tudja visszaállítani őket.

Hogyan működik a kivonás (gyökér nélkül, a színfalak mögött)

A legtöbb „APK-kinyerő” alkalmazásnak valójában nincs szüksége root-jogosultságra, mivel az Android egy rendszerszintű olvasási útvonalon keresztül elérhetővé teszi a telepített csomagfájlokat. A szokásos folyamat a következő:

  1. Az extraháló alkalmazás a PackageManager.getPackageInfo(package, ...)-t hívja, hogy lekérje a telepített alkalmazások listáját.
  2. A kiválasztott alkalmazásnál a ApplicationInfo.sourceDir (az alap APK elérési útja, jellemzően a /data/app/<package>-<hash>/base.apk) és a splitSourceDirs (bármely konfigurációs felosztás elérési útja).
  3. A felhasználó által telepített kivonat nem tudja közvetlenül beolvasni ezeket az útvonalakat, de az Android FileProvider mechanizmusa lehetővé teszi, hogy a rendszerkomponensek ideiglenes olvasási hozzáférést biztosítsanak bizonyos URI-khoz. Az operációs rendszer lehetővé teszi, hogy bármely alkalmazás megnyissa a saját APK-ját és más alkalmazások APK-jait URI alapján; ez szándékos, mivel a telepítési útvonalat mindig is olvashatónak szánták az olyan feladatokhoz, mint az eltávolítás és a frissítés.
  4. A kicsomagoló a bájtokat egy írható felhasználói könyvtárba (Letöltések, az alkalmazáson belüli gyorsítótár mappájába vagy külső tárolóba) másolja, és fájlként jeleníti meg megosztásra vagy telepítésre.

A root-only metódusok (su; cp /data/app/..). megkerülik az API-t, és közvetlenül olvassák be a nyers útvonalakat. Nem gyorsabbak, és nem szükségesek a nem rendszeralkalmazásokhoz.

Kibontás ADB-n keresztül (ajánlott biztonsági mentésekhez)

A legtisztább, külön alkalmazást nem igénylő munkafolyamat az ADB használata, amely a legtöbb fejlesztőnél már eleve telepítve van. Két parancs elvégzi a teljes feladatot:

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

Osztott APK-alkalmazások esetén ismételje meg a adb pull jelet minden elérési úthoz. Ha egyetlen telepíthető fájlt szeretne kapni, dobja mindegyiket a APKS-APK egyesülés-ünkre.

Amit nem lehet kivonni

A kicsomagolás visszaadja az alkalmazás telepítőfájljait. A nem visszaadása:

A kicsomagolás ezért jó „a telepítő másolatát akarom megtartani” felhasználási esetekre, de nem helyettesíti a megfelelő teljes eszközről készült biztonsági mentéseket (amelyekhez root vagy gyártói eszközökre van szükség).

Elemezze a kivont APK-kat

Miután biztonsági másolatot készített alkalmazásairól, használja online csomagunkat metaadataik, ikonjaik és engedélyeik ellenőrzéséhez.

Indítsa el az APK-elemzést

Gyakran Ismételt Kérdések (GYIK)

Egy alkalmazás kibontása tartalmazza a bejelentkezési adataimat?

Nem. Az Extraction csak a alkalmazás kódja és erőforrásai-t másolja. Biztonsági okokból nem tartalmazza személyes fiókadatait, jelszavait vagy beállításait.

Kibonthatok olyan rendszeralkalmazásokat, mint a YouTube?

Igen. Előfordulhat azonban, hogy egyes rendszeralkalmazások mélyen függőek az operációs rendszer bizonyos verzióitól, és előfordulhat, hogy nem települnek megfelelően más eszközökre.

Hová kerülnek a kicsomagolt APK-k?

A legtöbb kicsomagoló alkalmazás a fájlokat a telefon belső tárhelyén lévő Kivont APK-k vagy Letöltés nevű mappába menti.

A telepített alkalmazások biztonsági mentése az osztott konfigurációk elvesztése nélkül

Saját helyi alkalmazástár felépítése a legbiztosabb módja annak, hogy soha ne veszítse el hozzáférését kedvenc eszközeihez. A koppintásbarát alkalmazás és az ADB terminál egyaránt eljuttatja Önt a célhoz, és mindkét esetben a APK fájlok kibontása biztonságos és praktikus módja az Android-eszköz kezelésének. Miután biztonsági másolatot készített a könyvtáráról, szánjon néhány percet ezeknek a biztonsági másolatoknak a ellenőrizze az aláírásokat-re, így tudhatja, hogy az idő múlásával zavartalanok maradnak.

Mst Shaefale tervezte és dokumentálta Vezető fejlesztő és Android Package Architect • Ellenőrizve Android 12–15

Az Mst Shaefale karbantartja az ügyféloldali XAPK/APKS egyesítést, bináris jegyzékelemzőt és APK v1+v2 aláíró eszközöket a xapktoapk.com-nél. Elavult parancsot vagy operációs rendszerváltozást észlel? Szerkesztői megjegyzés küldése.