Przeciągnij i upuść pakiet .APKM tutaj
lub kliknij, aby wybrać podzielone archiwum .apkm, .apks lub .zip
100% przetwarzanie w przeglądarce lokalnej • Analizuje plik info.json i dzieli pliki APKWewnątrz architektury kontenerowej APKM
Gdy programiści publikują pakiet aplikacji na Androida (.aab w Google Play, urządzenia otrzymują tylko podzielone pliki APK dostosowane do ich sprzętu). Platformy archiwalne innych firm, takie jak APKMirror, pakują te modułowe podziały w pakiet .apkm wraz z deskryptorem JSON o nazwie info.json.
- Weryfikacja magicznego bajtu nagłówka: Sprawdza, czy .apkm używa standardowego ramkowania PKZIP (0x504B0304), czy też szyfrowanego nagłówka strumienia v2.
- Analiza manifestu info.json: Wyodrębnia nazwę pakietu (pname), kod wersji, minimalny poziom pakietu Android SDK i obsługiwane architektury procesorów.
- Standardowe przepakowywanie .apks jednym kliknięciem: Konwertuje niezaszyfrowane kontenery .apkm na uniwersalne archiwa .apks ZIP kompatybilne z SAI, packagetool i naszym główna Splitowa fuzja APK.
Dokumentacja techniczna: Konwertowanie pakietów APKM na samodzielne pliki APK
Plik .apkm nie jest pojedynczym skompilowanym pakietem dla systemu Android — jest to wieloczęściowe archiwum zawierające podstawowy moduł base.apk wraz z oddzielnymi podziałami konfiguracji dla zestawów instrukcji procesora (split_config.arm64_v8a.apk), split_config.armeabi_v7a.apk, gęstości pikseli ekranu (split_config.xxhdpi.apk), split_config.xxxhdpi.apk i zlokalizowanych zasobów ciągów (split_config.en.apk). Ponieważ domyślny instalator pakietów Androida (PackageInstaller akceptuje tylko pojedynczy monolityczny plik .apk podczas ładowania bocznego z menedżera plików, dotknięcie pliku .apkm bezpośrednio na telefonie powoduje nierozpoznany błąd pliku).
Nawet jeśli wyodrębnisz base.apk z archiwum .apkm i spróbujesz zainstalować go samodzielnie na Androidzie 13, 14 lub 15, dwie bariery techniczne uniemożliwiają działanie aplikacji:
- Wymuszanie podziału manifestu binarnego (isSplitRequired="true"): Wewnątrz skompilowanego pliku binarnego AndroidManifest.xml base.apk, znacznik <application> zawiera atrybut boolowski android:isSplitRequired="true" (identyfikator zasobu atrybutu 0x01010591). Kiedy PackageManagerService Androida zobaczy tę flagę podczas instalacji z jednym plikiem APK, natychmiast przerywa działanie i uruchamia INSTALL_FAILED_MISSING_SPLIT.
- Oddzielne biblioteki natywne i zasoby gęstości: Wszystkie skompilowane biblioteki współdzielone C/C++ (lib/arm64-v8a/*.so i rysunki interfejsu użytkownika o wysokiej rozdzielczości znajdują się w towarzyszących plikach split_config.*.apk. Bez scalania tych wpisów z archiwum podstawowym i aktualizacji resources.arsc), aplikacja ulega awarii podczas uruchamiania z java.lang.UnsatisfiedLinkError lub Resources$NotFoundException.
- Strumienie APKM oparte na ZIP a szyfrowane: Standardowe archiwa .apkm rozpoczynają się od 4-bajtowego podpisu PKZIP (50 4B 03 04) i zawierają plik info.json w katalogu głównym. Jednak niektóre nowsze pliki do pobrania APKMirror używają niestandardowego zaszyfrowanego formatu opakowania (magiczny nagłówek 02 ...) zaprojektowanego wyłącznie dla ich zastrzeżonego instalatora. Nasz analizator natychmiast sprawdza pierwsze 16 bajtów Twojego pliku w pamięci przeglądarki: jeśli jest to standardowy .apkm oparty na ZIP, możesz rozpakować wszystkie podziały lub wyeksportować czyste archiwum .apks tutaj, a następnie upuścić to archiwum do naszego strona główna Połączenie XAPK i Split APK, aby skompilować pojedynczy .apk podpisany v1+v2.
| Wewnętrzny plik APKM | Cel dostarczania pakietu aplikacji na Androida | Wymagane do instalacji samodzielnej? |
|---|---|---|
| info.json | Deskryptor metadanych JSON rejestrujący nazwę pakietu, versioncode, min_api i docelowe ABI | Nie (tylko metadane; usuwane podczas scalania plików APK) |
| base.apk | Podstawowy kod bajtowy DEX (classes.dex), rdzeń AndroidManifest.xml i zasoby bazowe | Tak (obowiązkowy pakiet podstawowy) |
| split_config.arm64_v8a.apk | 64-bitowe natywne biblioteki współdzielone C/C++ ARM (lib/arm64-v8a/*.so) | Tak (wymagane w nowoczesnych telefonach 64-bitowych) |
| split_config.xxhdpi.apk | Ikony interfejsu użytkownika o dużej gęstości, mapy bitowe i rysunki układu (320dpi–640dpi) | Tak (Zapobiega awariom związanych z brakującymi rysunkami) |
| split_config.en.apk | Zlokalizowane tablice ciągów skompilowane dla języka systemu użytkownika | Zalecane (zapewnia prawidłowe renderowanie etykiet tekstowych interfejsu użytkownika) |