Drag & Drop .APKM-bundel hier
of klik om een gesplitst .apkm-, .apks- of .zip-archief te selecteren
100% lokale browserverwerking • Parseert info.json en splitst APK'sBinnen de APKM-containerarchitectuur
Wanneer ontwikkelaars een Android App Bundle (.aab publiceren op Google Play, ontvangen apparaten alleen de gesplitste APK's die zijn afgestemd op hun hardware). Archiefplatforms van derden, zoals APKMirror, verpakken deze modulaire splitsingen in een .apkm-bundel naast een JSON-descriptor met de naam info.json.
- Header Magic Byte-verificatie: Controleert of de .apkm standaard PKZIP-framing (0x504B0304) of een gecodeerde v2-streamheader gebruikt.
- info.json Manifeste parsering: Extraheert pakketnaam (pname), versiecode, minimaal Android SDK-niveau en ondersteunde CPU-architecturen.
- Standaard .apks opnieuw verpakken met één klik: Converteert niet-gecodeerde .apkm-containers naar universele .apks ZIP-archieven die compatibel zijn met SAI, Bundletool en onze belangrijkste gesplitste APK-fusie.
Technische referentie: APKM-bundels converteren naar zelfstandige APK-bestanden
Een .apkm-bestand is geen enkel gecompileerd Android-pakket; het is een uit meerdere delen bestaand archief dat een primaire base.apk-module bevat, naast afzonderlijke configuratiesplitsingen voor CPU-instructiesets (split_config.arm64_v8a.apk), split_config.armeabi_v7a.apk, schermpixeldichtheden (split_config.xxhdpi.apk), split_config.xxxhdpi.apk en gelokaliseerde tekenreeksbronnen (split_config.en.apk). Omdat het standaardpakketinstallatieprogramma van Android (PackageInstaller slechts één monolithische .apk accepteert bij het sideloaden vanuit bestandsbeheer, resulteert het tikken op een .apkm-bestand rechtstreeks op uw telefoon in een niet-herkende bestandsfout).
Zelfs als je base.apk uit een .apkm-archief haalt en het zelf probeert te installeren op Android 13, 14 of 15, verhinderen twee technische barrières dat de app werkt:
- Handhaving van binaire manifeste splitsing (isSplitRequired="true"): Binnen de gecompileerde binaire AndroidManifest.xml van base.apk draagt de <application>-tag het booleaanse attribuut android:isSplitRequired="true" (attribuutbron-ID 0x01010591). Wanneer de PackageManagerService van Android deze vlag ziet tijdens een installatie met één APK, wordt deze onmiddellijk afgebroken met INSTALL_FAILED_MISSING_SPLIT.
- Gescheiden inheemse bibliotheken en dichtheidsbronnen: Alle gecompileerde gedeelde C/C++-bibliotheken (lib/arm64-v8a/*.so en UI-tekenbestanden met hoge resolutie bevinden zich in de bijbehorende split_config.*.apk-bestanden). Zonder deze vermeldingen samen te voegen in het basisarchief en resources.arsc bij te werken, crasht de applicatie bij het opstarten met java.lang.UnsatisfiedLinkError of Resources$NotFoundException.
- Op ZIP gebaseerde versus gecodeerde APKM-streams: Standaard .apkm-archieven beginnen met de 4-byte PKZIP-handtekening (50 4B 03 04) en bevatten een info.json-bestand in de root. Bepaalde nieuwere APKMirror-downloads gebruiken echter een aangepast gecodeerd wrapper-formaat (magische header 02 ...) dat exclusief is ontworpen voor hun eigen installatieprogramma. Onze analyser controleert de eerste 16 bytes van uw bestand onmiddellijk in het browsergeheugen: als het een standaard ZIP-gebaseerde .apkm is, kunt u alle splitsingen uitpakken of hier een schoon .apks-archief exporteren en dat archief vervolgens in onze startpagina XAPK & Split APK-fusie plaatsen om een enkele, v1+v2 ondertekende .apk te compileren.
| APKM intern bestand | Doel bij levering van Android-appbundels | Vereist voor zelfstandige installatie? |
|---|---|---|
| info.json | JSON-metagegevensdescriptor voor opnamepakketnaam, versioncode, min_api en doel-ABI's | Nee (alleen metadata; verwijderd tijdens APK-samenvoeging) |
| base.apk | Primaire DEX-bytecode (classes.dex), kern AndroidManifest.xml en basisresources | Ja (verplicht kernpakket) |
| split_config.arm64_v8a.apk | 64-bits ARM native C/C++ gedeelde bibliotheken (lib/arm64-v8a/*.so) | Ja (vereist op moderne 64-bits telefoons) |
| split_config.xxhdpi.apk | UI-pictogrammen met hoge dichtheid, bitmaps en tekenbare lay-outs (320dpi–640dpi) | Ja (voorkomt ontbrekende, tekenbare crashes) |
| split_config.en.apk | Gelokaliseerde tekenreekstabellen samengesteld voor de systeemtaal van de gebruiker | Aanbevolen (zorgt ervoor dat UI-tekstlabels correct worden weergegeven) |