Android

Aus Android Wiki

Architektur

Schematisches Architekturbild des Android-Systems
Hauptartikel: Dalvik VM und Android Runtime

Android baut bis Version 4.0 Ice Cream Sandwich "Ice Cream Sandwich"auf einen Linux-Kernel in der Version 2.6 auf, ab Android 4 wird ein Linux-Kernel der 3er-Version verwendet. der Kernel bietet Schnittstellen und eine Hardwareabstraktion bereit. Zudem übernimmt der Kernel die Prozess- und Speicherzugriffsverwaltung.

Aufbauend auf den Kernel stellt Android verschiedenste Bibliotheken bereit. Zudem implementiert Android eine virtuelle Maschine, um die Ausführung von Programmcode (bspw. für Apps) von der eigentlichen Hardware zu abstrahieren. Dadurch kann der Programmcode unabhängig von der verwendeten Hardware ausgeführt werden. Android verwendet hierfür eine auf der Java-Technologie basierende virtuelle Maschine mit dem Namen Dalvik (VM) (bzw. ab Android 4.4 KitKat "KitKat"auch wahlweise die Android Runtime (ART)). Anders als die Java Virtuelle Maschine, welche als Stack Maschine umgesetzt ist, verwendet die Dalvik VM Register-basierte Architektur, welche weniger, allerdings typischerweise auch komplexere, VM-Instruktionen benötigt. Trotzdem werden Dalvik-Programme (wie bspw. Apps) in Java programmiert und anschließend zu einem Java Bytecode konvertiert. Die Konvertierung von Stapelmaschinen-Code in Registermaschinen Code wird anschließend mit Hilfe des Tools dx oder dem D8 Compiler durchgeführt, falls nötig.

Android-Versionen

Datei:Galaxy Note.jpg
Geräte mit verschiedenen Versionen von Android. Von links nach rechts: Jelly Bean (4.1), KitKat (4.4), Lollipop (5.0)
Hauptartikel: Liste von Android-Versionen

Google bezeichnet die verschiedenen Versionen neben der Versionsnummer auch mit Namen von Süßigkeiten in alphabetischer Reihenfolge (in Anlehnung an die Alphabetische Namensgebung von Ubuntu).

Version Süßspeise
1.0 Alpha
1.1 Beta
1.5 Cupcake
1.6 Donut
2.0.x / 2.1 Éclair
2.2.x Froyo“ (Frozen Yogurt)
2.3.x Gingerbread
3.x.x Honeycomb
4.0.x Ice Cream Sandwich
4.1.x / 4.2.x / 4.3.x Jelly Bean
4.4.x KitKat
5.0.x / 5.1.x Lollipop
6.0.x Marshmallow[1]
7.0.x / 7.1.1 Nougat[2]
8.0.x / 8.1 Oreo[3]

API-Level

Hauptartikel: API-Level

Der API-Level gibt dabei den Entwicklungsstand der eingebauten Funktionen an. Je geringer der Stand ist, desto weniger Funktionen sind implementiert und stehen somit zur Verfügung. Der API-Level ist besonders für die Entwicklung von Anwendungen und Apps interessant, da man bei der Verwendung einer Funktion aus dem API Level 14 zum Beispiel diese App nicht auf einem Gerät installieren kann, welche auf Android 2.3.6 Gingerbread "Gingerbread" basiert.

Android Update Prozess

Hauptartikel: Android Update Prozess

Bis ein Android Update nach der Veröffentlichung einer neuen Version das Gerät eines Herstellers erreicht, kann einige Zeit vergehen. Dies kann daran liegen, dass der Hersteller der Chips, die im Smartphone verbaut werden, die Treiber nicht schnell genug anpasst, oder der Hersteller des Smartphones nicht genügend Ressourcen für die zügige Fertigstellung eines Updates zur Verfügung stellt. Mehr Informationen dazu gibt es im Hauptartikel.

Verteilung der Versionen

Verteilung der Android-Versionen

Aufgrund der Tatsache, das die Hersteller von Android-Geräten die Versionen als Update auf ihre Geräte ausliefern und der trägen Anpassung an die hauseigenen Oberflächen und Geräte-Eigenheiten, werden neue Android-Versionen nur sehr langsam auf die Geräte verteilt. Aus diesem Grund ist die Versionsverteilung von Android recht zerstückelt und neue Versionen brauchen einige Zeit, bis sie auf dem Großteil der im Umlauf befindlichen Geräte verteilt wurden.[4] Eine Statistik über einen Zeitraum von 7 Tagen über die aktuelle Verteilung, sowie der Zusammensetzung der verschiedenen Displaygrößen ist auf dieser Seite veröffentlicht.

Google Play Store

Hauptartikel: Google Play Store

Der Google Play Store ist eine Vermarktungsplattform für verschiedene digitale Inhalte. Die Plattform entstand aus dem Vorgänger Android Market der ausschließlich für den Vertrieb von Apps für Android entwickelt wurde. Anders als Android ist der Play Store, welcher von Google angeboten und betrieben wird, nicht quelloffen oder als freie Software verfügbar, eine standardmäßige Installation auf Android-Geräten bedarf der Zustimmung von Google.

Rechtsstreit mit Oracle

Im August 2013 wurde Android Gegenstand einer Klage von Oracle gegen Google. Oracle beschuldigt Google, mit Android Patente von Java verletzt zu haben. Google konnte das Verfahren in erster Instanz für sich entscheiden, allerdings gab das Berufungsgericht Oracle recht, dass Android Java-Patente verletzt hat. Das weitere Vorgehen wird in einem neuen Verfahren entschieden.

Siehe auch

Einzelnachweise

  1. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatVorlage:Internetquelle/Wartung/Datum nicht im ISO-FormatJamal Eason: Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. Android Developers Blog, 2015-08-17, abgerufen am 2016-08-23 (english).Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  2. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatVorlage:Internetquelle/Wartung/Datum nicht im ISO-FormatInterner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. Androidaccount bei Twitter, 2016-06-30, abgerufen am 2016-08-23 (english).Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  3. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatInterner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. In: Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. Abgerufen am 2017-09-02 (en-us).Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  4. http://developer.android.com/about/dashboards/index.html