Drag & Drop .APKM Bundle Ide
vagy kattintson rá egy .apkm, .apks vagy .zip osztott archívum kiválasztásához
100%-os helyi böngésző feldolgozás • Az info.json és a felosztott APK-k elemzéseAz APKM Container Architecture belsejében
Amikor a fejlesztők Android App Bundle csomagot (.aab tesznek közzé a Google Playen, az eszközök csak a hardverükre szabott felosztott APK-kat kapják meg). A harmadik féltől származó archiválási platformok, például az APKMirror ezeket a moduláris felosztásokat egy .apkm kötegbe csomagolják a info.json nevű JSON-leíró mellett.
- Header Magic Byte ellenőrzése: Ellenőrzi, hogy a .apkm szabványos PKZIP keretezést (0x504B0304) vagy titkosított v2 adatfolyam fejlécet használ-e.
- info.json Manifest elemzése: Kivonja a csomag nevét (pname), a verziókódot, az Android SDK minimális szintjét és a támogatott CPU architektúrákat.
- Egy kattintással normál .apks újracsomagolás: A titkosítatlan .apkm konténereket univerzális .apks ZIP archívumokká alakítja, amelyek kompatibilisek a SAI-val, a bundletool-tal és a fő Split APK egyesülés-vel.
Technikai referencia: APKM-csomagok átalakítása önálló APK-fájlokká
A .apkm fájl nem egyetlen lefordított Android-csomag – ez egy több részből álló archívum, amely egy elsődleges base.apk modult, valamint külön konfigurációs felosztásokat tartalmaz a CPU utasításkészleteihez (split_config.arm64_v8a.apk), split_config.armeabi_v7a.apk, a képernyő pixelsűrűségéhez (split_config.xxhdpi.apk), és lokalizált strQ6 erőforrásokhoz (). Mivel az Android alapértelmezett csomagtelepítője (PackageInstaller csak egyetlen monolitikus .apk-t fogad el a fájlkezelőből történő oldalbetöltéskor, a .apkm fájl közvetlenül a telefonján való megérintése fel nem ismert fájlhibát eredményez). split_config.xxxhdpi.apk split_config.en.apk
Még ha ki is bontja a base.apk-t egy .apkm archívumból, és megpróbálja önmagában telepíteni Android 13, 14 vagy 15 rendszeren, két technikai akadály akadályozza meg az alkalmazás működését:
- Bináris manifeszt osztott végrehajtás (isSplitRequired="true"): A base.apk lefordított bináris AndroidManifest.xml részében a <application> címke a android:isSplitRequired="true" logikai attribútumot (attribútum-erőforrásazonosító 0x01010591) hordozza. Amikor az Android PackageManagerService ezt a jelzőt látja az egy-APK telepítése során, azonnal leáll a INSTALL_FAILED_MISSING_SPLIT-vel.
- Elkülönített natív könyvtárak és sűrűségű források: Az összes lefordított C/C++ megosztott könyvtár (lib/arm64-v8a/*.so) és a nagy felbontású felhasználói felület rajzolható elemei a társ split_config.*.apk fájlokban találhatók. A bejegyzések alaparchívumba való egyesítése és a resources.arsc frissítése nélkül az alkalmazás a java.lang.UnsatisfiedLinkError vagy Resources$NotFoundException indításkor összeomlik.
- ZIP alapú vs. titkosított APKM adatfolyamok: A szabványos .apkm archívumok a 4 bájtos PKZIP aláírással (50 4B 03 04) kezdődnek, és egy info.json fájlt tartalmaznak a gyökérben. Egyes újabb APKMirror letöltések azonban egyedi titkosított burkolóformátumot (02 ... mágikus fejléc) használnak, amelyet kizárólag a saját telepítőjükhöz terveztek. Analizátorunk azonnal ellenőrzi a fájl első 16 bájtját a böngészőmemóriában: ha szabványos ZIP-alapú .apkm-ről van szó, akkor kicsomagolhatja az összes felosztást, vagy exportálhat egy tiszta .apks archívumot, majd dobja be az archívumot a kezdőlap XAPK & Split APK egyesülés-be, hogy egyetlen v1+v2 aláírt .apk-t fordítson le.
| APKM belső fájl | Cél az Android App Bundle Delivery szolgáltatásban | Szükséges az önálló telepítéshez? |
|---|---|---|
| info.json | JSON metaadat-leíró rögzítési csomag neve, versioncode, min_api és cél ABI-k | Nem (csak metaadatok; APK-egyesítés során törölve) |
| base.apk | Elsődleges DEX bájtkód (classes.dex), mag AndroidManifest.xml és alaperőforrások | Igen (kötelező magcsomag) |
| split_config.arm64_v8a.apk | 64 bites ARM natív C/C++ megosztott könyvtárak (lib/arm64-v8a/*.so) | Igen (A modern 64 bites telefonokhoz szükséges) |
| split_config.xxhdpi.apk | Nagy sűrűségű felhasználói felület ikonok, bittérképek és elrendezési rajzok (320dpi–640dpi) | Igen (megakadályozza a hiányzó rajzolható összeomlásokat) |
| split_config.en.apk | Lokalizált karakterlánc-táblázatok a felhasználó rendszernyelvéhez fordítva | Ajánlott (biztosítja, hogy a felhasználói felület szöveges címkéi megfelelően jelenjenek meg) |