APK-fájlok kibontása a telepített Android-alkalmazásokból
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:
- A megszűnt alkalmazások megőrzése: Ha egy fejlesztő eltávolítja alkalmazását az áruházból, akkor is meglesz a telepíthető példányod.
- Korábbi hardver támogatás: Tartsa meg a régebbi táblagépén működő verziókat, amikor a hivatalos alkalmazás frissül, és újabb Android-verziókat igényel.
- Verzió visszaállítása: Ha egy frissítés hibákat okoz, újratelepítheti a kicsomagolt biztonsági másolatot, és újra üzletbe léphet.
- Alkalmazás megosztása: Küldjön el egy adott alkalmazásverziót egy barátjának Bluetooth-on vagy kábelen keresztül, mobiladat-kapcsolat nélkül.
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:
- Telepítsen egy jó hírű APK Extractort.
- Nyissa meg az alkalmazást, és kérésre adja meg a „Tárolási engedélyeket”.
- Görgessen végig az összes telepített alkalmazás listáján.
- Érintse meg a menteni kívánt alkalmazást.
- 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:
- Csatlakoztassa telefonját a számítógépéhez USB-n keresztül, és engedélyezze az USB hibakeresést.
- Nyisson meg egy terminált, és írja be: adb shell pm path com.example.app
- Ez megmutatja az utat. Példa: package:/data/app/com.example.app/base.apk
- Típus: adb pull /data/app/com.example.app/base.apk ./backup.apk
- 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:
- Egyetlen alap APK. A Playre egyszerű APK-ként feltöltött régebbi vagy kisebb alkalmazások továbbra is egyetlen fájlként települnek. Az extrakció egy .apk-t ad vissza, amely önálló.
- Alap APK + több konfigurációs rész. Az AAB formátumban közzétett alkalmazások több APK-ként vannak telepítve egymás mellett: egy base.apk plusz split_config.<abi>.apk (natív kód a CPU-hoz), split_config.<density>.apk (a képernyő erőforrásai) és split_config.<language>.apk (karakterláncok a nyelvi beállításhoz). A kivonás mindegyiket visszaadja. Ha újra szeretné telepíteni ugyanazt az alkalmazást ugyanarra az eszközre, mindegyikre szüksége van.
- Néha az eszközcsomag adatok. A Play Asset Delivery funkciót használó modern játékok nagy játékelemeket tárolnak az alkalmazás-privát gyorsítótárban, magukon az APK-kon kívül. Ezek általában nem exportálhatók normál elszívóval; az eszközcsomagokat úgy tervezték, hogy az első indításkor újra lekérhetők legyenek.
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ő:
- Az extraháló alkalmazás a PackageManager.getPackageInfo(package, ...)-t hívja, hogy lekérje a telepített alkalmazások listáját.
- 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).
- 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.
- 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:
- Alkalmazásadatok: beállítások, adatbázisok, fájlok mentése. Ezek a /data/data/<package>/ alatt élnek, és a felhasználói adatok homokozója védi őket a nem gyökérkivonástól.
- Play Asset Delivery eszközcsomagok: első futtatáskor letöltve, privát gyorsítótárban, és várhatóan újra le kell tölteni, ha hiányzik.
- Felhő által mentett haladás: ha az alkalmazás Google Play Games-t, Firebase-t vagy hasonlót használ, akkor a felhőben tárolt rész a kiadó szerverein található, nem pedig az Ön eszközén.
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éstGyakran 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.