Apk (Dateiformat)
Das Android-Paket mit der Dateiendung apk[1] ist das Dateiformat, das vom Android-Betriebssystem und einer Reihe anderer Android-basierter Betriebssysteme zur Verteilung und Installation von mobilen Apps, mobilen Spielen und Middleware verwendet wird. Es kann entweder in Java oder Kotlin geschrieben werden.
APK-Dateien können aus Android App Bundles generiert und signiert werden.[2]
Überblick
APK ist analog zu anderen Softwarepaketen wie APPX in Microsoft Windows oder einem Debian-Paket in Debian-basierten Betriebssystemen. Um eine APK-Datei zu erstellen, wird zunächst ein Programm für Android mit einem Tool wie Android Studio[3] oder Visual Studio kompiliert und dann alle seine Teile in eine Containerdatei gepackt. Eine APK-Datei enthält den gesamten Programmcode (z. B. .dex-Dateien), Ressourcen, Assets, Zertifikate und Manifestdateien. Wie bei vielen Dateiformaten können APK-Dateien einen beliebigen Namen haben, aber es kann erforderlich sein, dass der Dateiname mit der Dateierweiterung endet, um als solche erkannt zu werden.[4][5][6]
Bei den meisten Android-Implementierungen können Benutzer APK-Dateien erst dann manuell installieren, nachdem sie die Einstellung „Unbekannte Quellen“ aktiviert haben, die die Installation aus anderen als vertrauenswürdigen Quellen wie Google Play zulässt. Dies kann aus vielen Gründen geschehen, beispielsweise während der Entwicklung von Apps, um Apps zu installieren, die nicht im Store gefunden werden, oder um eine ältere Version einer vorhandenen App zu installieren.[7][8][9]
Verwendung auf anderen Betriebssystemen
Auf der Windows-11-Ankündigungsveranstaltung im Juni 2021 stellte Microsoft das Windows-Subsystem für Android (WSA) vor, das die Unterstützung für das Android Open Source Project (AOSP) enthält und es Benutzern ermöglicht, Android-Apps auf ihrem Windows-Desktop auszuführen. Microsoft hat bestätigt, dass Benutzer Android-Apps in Form von APK-Dateien installieren können, die von Drittanbieterquellen heruntergeladen wurden.[10] Die erste öffentliche Vorschauversion war ab dem 15. Februar 2022 verfügbar, Apps wurden aus dem Amazon Appstore bezogen.[11] Zum 5. März 2025 wurde das WSA eingestellt.[12]
Google plante für 2022 eine eigene Methode zum Ausführen von Android-Apps unter Windows.[13] Seit Mitte 2023 ist das Programm Google Play Games für PC in Deutschland verfügbar.[14][15]
Packungsinhalt
Eine APK-Datei ist ein Archiv, das normalerweise die folgenden Dateien und Verzeichnisse enthält:
META-INFVerzeichnis:MANIFEST.MF: die Manifest-Datei- Das Zertifikat der Anwendung
CERT.SF: Die Liste der Ressourcen und ein SHA-1-Digest der entsprechenden Zeilen in der Datei MANIFEST.MF; zum Beispiel:Signatur-Version: 1.0 Erstellt von: 1.0 (Android) SHA1-Digest-Manifest: wxqnEAI0UA5nO5QJ8CGMwjkGGWE= ... Name: res/layout/exchange_component_back_bottom.xml SHA1-Digest: eACjMjESj7Zkf0cBFTZ0nqWrt7w= Name: res/drawable-hdpi/icon.png SHA1-Digest: DGEqylP8W0n0iV/ZzBx3MW0WGCA=
lib: das Verzeichnis, das den kompilierten Code enthält, der plattformabhängig ist; das Verzeichnis ist darin in weitere Verzeichnisse aufgeteilt:armeabi-v7a: kompilierter Code nur für die 32-Bit-Arm-Architektur ARMv7 und höherarm64-v8a: kompilierter Code nur für die 64-Bit-Arm-Architektur ARMv8 („arm64“) und höherx86: kompilierter Code nur für die 32-Bit-x86-Architektur IA-32 (auch „i386“)x86_64: kompilierter Code nur für die 64-Bit-x86-Architektur x64 (auch „x86-64“ od. „amd64“)undmips, veraltet seit NDK r17[16][17]armeabi
res: das Verzeichnis, das Ressourcen enthält, die nicht in resources.arsc kompiliert wurden (siehe unten).assets: Ein Verzeichnis mit Anwendungsressourcen, die perAssetManagerabgerufen werden können.AndroidManifest.xml: Eine zusätzliche Android-Manifestdatei, die den Namen, die Version, die Zugriffsrechte und die referenzierten Bibliotheksdateien für die Anwendung beschreibt. Diese Datei kann in binärem Android-XML vorliegen, das mit Tools wie AXMLPrinter2, Apktool M oder Androguard in menschenlesbares Klartext-XML konvertiert werden kann.classes.dex: Die im dex-Dateiformat kompilierten Klassen, die von Android Runtime (oder von der in Android 4.4 KitKat verwendeten virtuellen Dalvik-Maschine) ausgeführt werden.resources.arsc: eine Datei, die vorkompilierte Ressourcen enthält, wie zum Beispiel binäres XML.
Einzelnachweise
- ↑ Application Fundamentals. Abgerufen am 22. März 2022 (englisch).
- ↑ Jay Peters: Google is moving away from APKs on the Play Store. 30. Juni 2021, abgerufen am 22. März 2022 (englisch).
- ↑ Meet Android Studio. Abgerufen am 22. März 2022 (englisch).
- ↑ Inside the Android Application Framework - 2008 Google I/O Session Videos and Slides. Abgerufen am 22. März 2022.
- ↑ The Structure of Android Package (APK) Files. OPhone SDN. OPhone Software Developer Network, 26. Mai 2012, archiviert vom am 21. Mai 2012; abgerufen am 22. März 2022.
- ↑ The Structure of Android Package (APK) Files - Technical article - OPhone SDN [OPhone Software Developer Network]. 8. Februar 2011, archiviert vom am 15. August 2011; abgerufen am 22. März 2022.
- ↑ Jerry Hildenbr: Sideloading and Unknown Sources on Android: How to do it and fix errors. 16. April 2020, abgerufen am 22. März 2022 (englisch).
- ↑ Manish Kumar: APK File Extension – What APK File is and How to open it? – Tips Overflow. Archiviert vom am 30. März 2022; abgerufen am 22. März 2022 (amerikanisches Englisch).
- ↑ [Sharing] How to downgrade or revert into an older Android app version? In: 123musiq. Abgerufen am 22. März 2022 (amerikanisches Englisch).
- ↑ Mayank Parmar: Microsoft confirms Android apps will run on all Windows 11 PCs. In: Windows Latest. 27. Juni 2021, abgerufen am 22. März 2022 (amerikanisches Englisch).
- ↑ Versionshinweise für Windows-Subsystem für Android. In: Microsoft Learn. 21. November 2024, abgerufen am 3. Mai 2025 (deutsch).
- ↑ Windows-Subsystem für Android. In: Microsoft Learn. 5. März 2025, abgerufen am 3. Mai 2025 (deutsch).
- ↑ Tom Warren: Google is bringing Android games to Windows in 2022. 9. Dezember 2021, abgerufen am 22. März 2022 (englisch).
- ↑ Daniel Herbig: Android-Spiele: Google Play Games für PC jetzt in Deutschland verfügbar. In: heise online. 26. Mai 2023, abgerufen am 3. Mai 2025.
- ↑ Google Play Spiele – Spiele für Mobilgeräte auf unserer Plattform für Windows-PCs spielen. In: Google Play. Abgerufen am 3. Mai 2025.
- ↑ Android ABIs | Android NDK. Abgerufen am 22. März 2022 (englisch).
- ↑ Android Native Development Kit (NDK). Android, 19. März 2022, abgerufen am 22. März 2022.