Bearbeiten von „Apk

    Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden. Ein eigenes Benutzerkonto hat eine ganze Reihe von Vorteilen.

    Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

    Aktuelle Version Dein Text
    Zeile 1: Zeile 1:
    {{DISPLAYTITLE:Android package (APK) Datei}}
    {{DISPLAYTITLE:Android package (APK) Datei}}


    Eine '''APK'''-Datei ('''A'''ndroid '''P'''ac'''k'''age) ist eine Installations-Datei für eine Android-[[App]]. Es handelt sich dabei um eine ZIP-Datei mit der Datei-Endung <code>.apk</code> statt <code>.zip</code>, die u.a. den Bytecode der App, Ressourcen-Dateien (z.B. Grafikdateien oder Sound-Clips) sowie Metadaten enthält.
    Eine '''APK'''-Datei ('''A'''ndroid '''p'''ac'''k'''age) ist eine Installations-Datei für eine Android-[[App]]. Es handelt sich dabei um eine ZIP-Datei mit der Datei-Endung <code>.apk</code> statt <code>.zip</code>, die u.a. den Bytecode der App, Ressourcen-Dateien (z.B. Grafikdateien oder Sound-Clips) sowie Metadaten enthält.


    Mit dem [[Android App Bundle]] gibt es ein Nachfolger-Format mit Datei-Endung  ''.aab'', aus dem eine APK-Datei, die nur für einen bestimmten Geräte-Typ benötigten Dateien enthält, erzeugt wird.<ref>{{Cite web|url=https://heise.de/-4045935|title=Android App Bundle: Googles neues Format zur Veröffentlichung von Android-Apps|author=Björn Bohn|accessdate=2018-05-09|date=2018-05-09|publisher=heise.de}}</ref>
    Mit dem [[Android App Bundle]] gibt es ein Nachfolger-Format mit Datei-Endung  ''.aab'', aus dem eine APK-Datei, die nur für einen bestimmten Geräte-Typ benötigten Dateien enthält, erzeugt wird.<ref>{{Cite web|url=https://heise.de/-4045935|title=Android App Bundle: Googles neues Format zur Veröffentlichung von Android-Apps|author=Björn Bohn|accessdate=2018-05-09|date=2018-05-09|publisher=heise.de}}</ref>


    == APK-Datei erstellen ==
    == 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 [[Kotlin]] oder [[Java]]. Aus dem Quellcode wird mit einem Java-Compiler Bytecode erzeugt (welcher in <code>.class</code>-Dateien gespeichert wird), die anschließend mit dem Tool '''dex''' oder [[D8]] aus dem [[Android SDK]] zu [[Dalvik VM|Dalvik]]-Bytecode umgewandelt werden (<code>.dex</code>-Dateien). Dieser Bytecode kann vom Android-Betriebssystem ausgeführt werden und ist gegenüber Java-Bytecode für die besonderen Anforderungen in Smartphones optimiert.
    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 VM|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|Manifest-Datei]] (z. B. für die Angabe von App-[[Berechtigungen]]) in ein einziges APK-Archiv gepackt.


    Die so entstandenen <code>.dex</code>-Dateien werden mit dem ''apk-Pack-Tool'' (ähnlich zu '''jar''') zusammen mit benötigten Ressourcen (z. B. Bilder, Icons und Texte) und der [[Manifest|Manifest-Datei]] (z. B. für die Angabe von App-[[Berechtigungen]]) in ein APK-Archiv gepackt.
    == Bezugsmöglichkeiten von APK-Dateien ==


    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 <code>.dex</code>-Dateien und Ressourcen an die [[Dalvik VM]] übergeben.
    Neben der Erstellung einer APK-Datei mit einer Entwicklungsumgebung gibt es noch weitere Möglichkeiten, Apps in Form einer APK-Datei zu erhalten:
     
    == Verteilen von APK-Dateien ==
     
    Neben der Installation von APK-Dateien während der Entwicklung einer App (meist über die gewählte Entwicklungsumgebung), werden APK-Dateien auch für die Installation auf ''Endgeräten'' angeboten, zum Beispiel wenn eine App unter Bekannten geteilt werden soll.


    Mit der App {{PlayStore|com.ext.ui|Apk Extractor}} 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.  
    Mit der App {{PlayStore|com.ext.ui|Apk Extractor}} 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 [[Alternative_Markets|alternativer App-Store]], der nur kostenlose Open-Source-Apps im Angebot anbietet. Der App-Katalog kann auch auf der Webseite des Projekts durchsucht werden,<ref>{{Cite web|url=https://f-droid.org/repository/browse/|title=Browse-Funktion auf f-droid.org|language=de|accessdate=2015-08-15}}</ref> wobei alle angebotenen Apps auch als APK-Datei zur Installation heruntergeladen werden können.  
    [[F-Droid]] ist ein [[Alternative_Markets|alternativer App-Store]], der nur kostenlose Open-Source-Apps im Angebot hat. Der App-Katalog kann auch auf der Webseite des Projekts durchsucht werden<ref>{{Cite web|url=https://f-droid.org/repository/browse/|title=Browse-Funktion auf f-droid.org|language=de|accessdate=2015-08-15}}</ref>, wobei alle enthaltenen Apps auch als APK-Datei heruntergeladen werden können.  


    Neben ''F-Droid'', welcher ausschließlich ''freie'' Software anbietet, gibt es noch weitere Webseiten, die APK-Dateien zum Download anbieten, u.A. [[APKMirror.com]] oder 
    == 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 ==
    == APK Datei mit der ADB verknüpfen ==
    Zeile 35: Zeile 32:


    ==Trivia==
    ==Trivia==
    Software-Pakete für die Linux-Distribution ''Alpine Linux''<ref>{{Cite web | url = https://alpinelinux.org/about/ | title = Seite "About" auf Homepage von Alpine Linux | accessdate = 2019-08-02 | publisher = Alpine Linux | language = en}}</ref> haben auch die Datei-Endung <code>.apk</code>, was für "Alpine Package" steht. Bei diesen auch "A-Pack" genannten Dateien handelt es sich um signierte <code>tar.gz</code>-Dateien, die neben den zu installierenden Dateien noch Konfigurations- und Metadaten enthalten.<ref>{{Cite web | url = https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management | title = Alpine Linux package management | accessdate = 2019-08-02 | publisher = wiki.alpinelinux.org | language = en}}</ref> Dieses Dateiformat hat aber nichts mit den APK-Dateien für Android zu tun.
    Software-Pakete für die Linux-Distribution ''Alpine Linux''<ref>{{Cite web | url = https://alpinelinux.org/about/ | title = Seite "About" auf Homepage von Alpine Linux | accessdate = 2019-08-02 | publisher = Alpine Linux | language = en}}</ref> haben auch die Datei-Endung <code>.apk</code>, was für "Alpine Package" steht. Bei diesen auch "A-Pack" genannten Dateien handelt es sich um um signierte <code>tar.gz</code>-Dateien, die neben den zu installierenden Dateien noch noch Konfigurations- und Metadaten enthalten.<ref>{{Cite web | url = https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management | title = Alpine Linux package management | accessdate = 2019-08-02 | publisher = wiki.alpinelinux.org | language = en}}</ref> Dieses Dateiformat hat aber nichts mit den APK-Dateien für Android zu tun.


    == Einzelnachweise ==
    == Einzelnachweise ==
    Bitte kopiere keine Webseiten, die nicht deine eigenen sind, benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Urhebers!
    Du gibst uns hiermit deine Zusage, dass du den Text selbst verfasst hast, dass der Text Allgemeingut (public domain) ist, oder dass der Urheber seine Zustimmung gegeben hat. Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der Diskussionsseite darauf hin. Bitte beachte, dass alle Android Wiki-Beiträge automatisch unter der „Creative Commons Attribution/Share-Alike Lizenz 3.0“ stehen. Falls du nicht möchtest, dass deine Arbeit hier von anderen verändert und verbreitet wird, dann klicke nicht auf „Seite speichern“.

    Um das Wiki vor automatisiertem Bearbeitungsspam zu schützen, bitten wir dich, das folgende CAPTCHA zu lösen:

    Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)