Top-Fragen
Zeitleiste
Chat
Kontext

Apk (Dateiformat)

Dateiformat, welches von Googles Betriebssystem Android benutzt wird Aus Wikipedia, der freien Enzyklopädie

Remove ads

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]

Remove ads

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]

Remove ads

Packungsinhalt

Zusammenfassung
Kontext

Eine APK-Datei ist ein Archiv, das normalerweise die folgenden Dateien und Verzeichnisse enthält:

  • META-INF Verzeichnis:
    • 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öher
    • arm64-v8a: kompilierter Code nur für die 64-Bit-Arm-Architektur ARMv8 („arm64“) und höher
    • x86: 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“)
    • mips und armeabi, veraltet seit NDK r17[16][17]
  • res: das Verzeichnis, das Ressourcen enthält, die nicht in resources.arsc kompiliert wurden (siehe unten).
  • assets: Ein Verzeichnis mit Anwendungsressourcen, die per AssetManager abgerufen 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

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads