Android package (APK) Datei

Aus Android Wiki

Eine Apk-Datei (Android package) ist eine Archiv-Datei, ähnlich einer .zip-Datei, und enthält die Bestandteile einer für Android entwickelten App. Das Archiv enthält unter anderem kompilierten Quellcode, Ressourcen-Dateien (z.B. Grafikdateien oder Sound-Clips) sowie Metadaten, wie Angaben zu den nötigen Berechtigungen und Ähnliches.

APK-Datei erstellen

Eine APK-Datei kann man durch das Entwickeln einer App erstellen und die App zum Beispiel über den Google Play Store veröffentlichen. Die verwendete Programmiersprache ist dabei meist Java, aus dem Software-Code werden zuerst mit einem normalen Java-Compiler .class-Dateien mit Java-Bytecode erstellt, die anschließend mit dem Tool dex oder D8 aus dem Android SDK in .dex-Dateien mit Dalvik-Bytecode umgewandelt werden. Dieser Bytecode kann vom Android-Betriebssystem ausgeführt werden und ist gegenüber normalem Java-Bytecode für die besonderen Anforderungen in Smartphones optimiert. Die so entstandenen .dex-Dateien werden mit dem apk-Pack-Tool (ähnlich zu jar) zusammen mit benötigten Ressourcen (z. B. Bilder, Icons und Texte) und der Manifest-Datei (z. B. für die Angabe von App-Berechtigungen) in ein einziges APK-Archiv gepackt.

Bezugsmöglichkeiten von APK-Dateien

Neben der Erstellung einer APK-Datei mit einer Entwicklungsumgebung gibt es noch weitere Möglichkeiten, Apps in Form einer APK-Datei zu erhalten:

Mit der App Apk Extractor Play Store können die, auf einem Android-Gerät installierten, Apps als APK-Dateien in einen bestimmten Ordner auf dem Gerät abgelegt werden. Der Apk Extractor ist kostenlos und erfordert keinen Root-Zugang.

F-Droid ist ein alternativer App-Store, der nur kostenlose Open-Source-Apps im Angebot hat. Der App-Katalog kann auch auf der Webseite des Projekts durchsucht werden[1], wobei alle enthaltenen Apps auch als APK-Datei heruntergeladen werden können.

Funktionsweise

Das Android-Betriebssystem kann bei der Installation einer App Informationen wie Namen, Icon, Entwickler aus dem APK-Archiv holen und bei der Ausführung die enthaltenen .dex-Dateien und Ressourcen an die Dalvik VM übergeben.

APK Datei mit der ADB verknüpfen

Will man des Öfteren eine APK-Datei auf dem Androidgerät installieren und dies nicht immer umständlich mit dem Verschieben auf den internen Speicher und anschließendem manuellen Installieren machen, bietet es sich an, die APK der App mittels ADB zu installieren. Hierfür muss natürlich USB-Debugging aktiviert und die passenden USB-Treiber installiert sein. Anschließend kann man die APK-Datei mit folgendem Befehl (in einem Kommandozeilenfenster) auf dem Gerät installieren :

adb install {APK-Name}

Der Platzhalter {APK-Name} muss dabei durch den Pfad und den Namen der zu installierenden APK-Datei ersetzt werden. Will man eine Reihe von Apps installieren, oder sich den Weg mit dem Öffnen eines Kommandozeilenfensters sparen, kann man die APK-Dateierweiterung unter Windows auch mit dem ADB-Befehl verknüpfen. Dazu öffnet man ein Kommandozeilenfenster ([WINDOWS] + [R] -> ''cmd'' eingeben und mit [ENTER] bestätigen) und gibt nacheinander diese Befehle ein:

assoc .apk=Android-App
ftype Android-App=C:\Pfad\zur\adb.exe install "%1"

Als Platzhalter C:\Pfad\zur\adb.exe trägt man den Pfad zu der adb.exe ein, die sich normalerweise im platform-tools-Ordner der Android SDK befindet. Nachdem man die Befehle ausgeführt hat, wird jede APK-Datei auf dem verbundenen Androidgerät installiert, insofern USB-Debugging eingeschalten ist.[2]

Einzelnachweise

  1. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  2. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatVorlage:Internetquelle/Wartung/Archivdatum nicht im ISO-FormatInterner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. Archiviert vom Original am 2013-10-24, abgerufen am 2013-08-22.Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.