Hvad er APK-filformatet?
En fil med filtypenavnet .apk indeholder et komprimeret arkiv med en applikation, et spil eller firmware til Android-systemet. APK-pakker er bygget på ZIP/JAR-containerformatet, hvilket betyder, at ethvert standardarkivværktøj kan åbne og inspicere deres indhold. Google Play pålagde oprindeligt en grænse på 100 MB for .apk-downloads, med op til to udvidelsesfiler på op til 2 GB hver til yderligere ressourcer; siden august 2021 kræver Google Play, at nye apps udgives som .AAB (Android App Bundles), som genererer enhedsoptimerede split-APK'er ved installationstidspunktet i stedet for at sende en enkelt monolitisk pakke.
Struktur af en APK-fil
Strukturen af APK-filer er baseret på JAR-arkivet - de kan indeholde følgende undermapper og filer:
res- med en beskrivelse af ressourcerne i en ukompileret form,lib- indeholder kompilerede kilder og applikationsbiblioteker, opdelt efter forskellige computerplatforme (f.eks.arm64-v8a,x86_64),META-INF- med filer, der indeholder information om pakken, for eksempelMANIFEST.MF-filen eller certifikater,assets- som indeholder forskellige ressourcer, der bruges af appen,classes.dex- kompileret Dalvik/ART-bytecode, der eksekveres af Android-runtimen,AndroidManifest.xml- binært kodet manifest, der erklærer appens tilladelser, komponenter og SDK-krav,resources.arsc- prækompileret ressourcetabel, der mapper ID'er til strenge, layouts og drawables.
Android Package-filer bruges til at oprette og distribuere programmer til mobile platforme, der kører på Android-systemet. Indholdet af .apk-filer kan udpakkes med de fleste dekomprimeringsprogrammer, der understøtter ZIP-komprimering, eller inspiceres ved blot at omdøbe filen til .zip. For at opretholde integriteten er pakker beskyttet af APK Signature Scheme v2/v3 (og v4 for inkrementelle opdateringer), og installationen afvises, hvis signaturen ikke stemmer overens. Installation af .apk-pakker fra kilder uden for Play Store er som standard ikke tilladt - brugere skal aktivere tilladelsen Installer ukendte apps i Android-indstillingerne eller overføre pakken via adb install app.apk. Apps, der er for store til en enkelt .apk, kan distribueres som .XAPK, som samler en base-APK med en eller flere split-APK'er i et enkelt arkiv.
Sikkerhed og tryghed
RISIKO: HIGHAPK er den største kilde til Android-malware: sideloading omgår Google Play Protect-scanning. Risikotjekliste for brugere: installer kun fra betroede kilder (Google Play, F-Droid, APKMirror - som verificerer signaturer mod udviklerens), tjek at de anmodede tilladelser matcher appens formål, installer aldrig en APK, der ankom uopfordret via chat/SMS («smishing»-kampagner), og sammenlign appens signatur ved opdatering. Tricket med at omdøbe til zip lader dig inspicere indholdet før installation.
Formatdetaljer
kort fortaltProgrammer der åbner APK-filer
Tekniske detaljer
dyb specifikation| Kodning | Binær |
| Byte-orden | Little-endian |
| Container | ZIP-arkiv (også gyldig som JAR) |
| Komprimering | DEFLATE pr. post; justeringsfølsomme poster gemt ukomprimeret (STORED-metode) og zipaligned |
| Signering / integritet | APK Signature Scheme v2/v3 (blok indsat før ZIP central directory); v4 til inkrementelle opdateringer på enheden; installation afvist ved signaturfejl |
| Magic bytes | 50 4B 03 04 - standard ZIP «PK» lokal fil-header ved offset 0; adskiller sig fra almindelig ZIP ved tilstedeværelsen af AndroidManifest.xml og classes.dex |
| Interne filer | AndroidManifest.xml, classes.dex (+ classes2.dex …), resources.arsc, res/, lib/, assets/, META-INF/ |
| Bytecode | Dalvik Executable (DEX) i classes.dex - kompileret fra Java/Kotlin-kilde, eksekveret af ART (Android Runtime) |
| Justering | zipalign gennemtvinger 4-byte grænse for ukomprimerede poster; Android 15+ sigter mod 16 KB sidejustering |
| Manifest-format | Binært kodet XML (AXML), der erklærer pakkenavn, tilladelser, Activity/Service/Provider-komponenter, minSdkVersion, targetSdkVersion |
| Native lib layout | lib/<ABI>/ undermappe pr. arkitektur: arm64-v8a, armeabi-v7a, x86, x86_64 |
| Ressourcetabel | resources.arsc - flad binær fil, der mapper heltal-ressource-ID'er til strenge, layouts, drawables og konfigurationsvarianter |
| Typisk størrelse | 2 MB - 1,5 GB; base-app-APK'er er typisk 5-100 MB; spil med bundtede aktiver når det øvre område |
| MIME-type | application/vnd.android.package-archive |
| Platform | Android (native); kan køres på Windows, Linux, macOS via emulatorer (BlueStacks, Android Studio AVD, Waydroid) |
| Udgivet | 2008 (Android 1.0) |
| Seneste version | APK Signature Scheme v3 (Android 9, 2018); v4 incremental (Android 11, 2020) |
| Åben standard | Ja · royaltyfri |
| Specifikation | source.android.com |