Android

Aus Android Wiki
Android Desktop

Android (engl.: Androide, humanoider Roboter) ist ein von der Open Handset Alliance entwickeltes, auf Linux basierendes Betriebssystem für Smartphones, Handys und Tablet PCs. Der Hauptentwickler ist, neben den freiwilligen Community-Entwicklern, Google. Android und Android-Updates werden hauptsächlich von Google veröffentlicht und zur Verfügung gestellt. Die Mitglieder dieses Zusammenschlusses ziehen aus der Entwicklung größtenteils Vorteile.

Geschichte

Android wurde ursprünglich von dem Unternehmen Android, Inc. entwickelt, welches 2003 von Andy Rubin, Rich Miner, Nick Sears und Chris White in Palo Alto, Kalifornien gegründet wurde. Bis 2005 entwickelte man Android unter Eigenregie selbst, bevor das Unternehmen von Google für 50 Mio. USD gekauft wurde.[1] 2007 präsentierte Google Android der Öffentlichkeit. Mit 33 weiteren Unternehmen, der heutigen Open Handset Alliance, wird Android als Open Source Betriebssystem für Mobiltelefone und Tablets weiterentwickelt. Seit Oktober 2008 ist Android offiziell mit Version 1.0 von Google freigegeben worden und konnte von jedem Hersteller frei verwendet werden. Das erste in Deutschland verkaufte Smartphone mit Android war das HTC Dream (bekannt als T-Mobile G1).

Grundlage

Der Androidkernel basiert auf dem Linuxkernel. Ab Version 4 kann auch ein Kernel der 3er Serie genutzt werden[2]. Wie bei einem PC ist der Kernel für die grundlegenden Funktionen zuständig und stellt verschiedenste Ressourcen bereit und verwaltet diese. So zum Beispiel die Speicherverwaltung (RAM) oder die Verwaltung der Rechenleistung.

Ein weiterer wichtiger Bestandteil des Android-Grundsystems ist die Dalvik-VM. Diese basiert auf Teilen der Java-Programmiersprache und wurde von einem Googlemitarbeiter entwickelt. In der Dalvik Virtuellen Maschine wird der sogenannte Byte-Code ausgeführt. Neben der Dalvik-VM sind auch die Android-Java-Klassenbibliotheken im Android-Quellcode implementiert. Ab Version 4.4 ("KitKat") unterstützt Android die eigens für das Betriebssystem entwickelte Laufzeitumgebung "ART". Diese übernimmt die selben Aufgaben wie vorher die Dalvik VM.

Androidprogramme, sogenannte Apps, greifen unter anderem auch auf weitere Bibliotheken zurück, welche in C oder C++ erstellt wurden und unter anderem Codecs für die Medienwiedergabe, einen auf WebKit basierenden Browser, eine SQLite Datenbank und eine auf OpenGL basierende 3D-Grafiklösung bereitstellen.

Die Androidversionen wurden bisher alle für die ARM-Architektur compiliert. Die einzelnen Architekturversionen, zum Beispiel ARMv6 (für ältere Geräte) oder ARMv7, sind untereinander nicht kompatibel.

Die Struktur in Android ist grundsätzlich gleichberechtigt. Das bedeutet, das man das System nach belieben anpassen und verändern kann. So kann man zum Beispiel die Kamera-App jederzeit durch eine andere App austauschen und mit dieser Fotos erstellen. Dies gilt für alle Betriebssystemschichten über der Dalvik-VM, die sich zusammen mit den darunter liegenden Systemschichten nicht auswechseln lässt. Diese Möglichkeit des modularen Aufbaus wird von einigen Herstellern durch Restriktionen einzelner Partitionen verhindert, da sich die Programmdatei (die APK-Datei) durch das entziehen der Schreibrechte auf die /system Partition zum Beispiel, nicht auswechseln lässt.

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 Code Name Erscheinungsdatum wichtigste Änderungen API level
1.0 Alpha API level 1
1.1 Beta 10. Februar 2009
  • MMS-Anhänge können gespeichert werden
API level 2
1.5 Cupcake 30. März 2009
  • Wechsel zwischen Quer-und Hochformat
  • virtuelle Bildschirmtastatur
  • Videoaufnahme- und Anzeigefunktion
  • zusätzliche Sprachpakete
API level 3, NDK 1
1.6 Donut 15. September 2009
  • VPN-Verbindung ermöglicht
  • Text-zu-Sprache
  • selbstlernende Suchfunktion
API level 4, NDK 2
2.0 Eclair 26. Oktober 2009
  • Blitzlichtunterstützung
  • Bluethooth 2.1
  • MS Exchange wird unterstützt
API level 5
2.01
Eclair API level 6
2.1 Eclair 17. Januar 2010
  • Live-Wallpaper
  • neuer Stockbrowser
  • IPv6-Unterstützung
API level 7, NDK 3
2.2 Froyo 20. Mai 2010
  • Optimierung des Arbeitsspeicherverbrauches durch neuen Linux-Kernel
  • Unterstützung von mehr Arbeitsspeicher
  • App2SD
  • diverse Bugfixes
API level 8, NDK 4
2.3 Gingerbread 02. Oktober 2010
  • Erweiterung Webkit-Browser
  • Erweiterung unterstützer Dateisysteme
  • Downloadmanager hinzugefügt
  • neue Google Maps-Funktion
  • diverse Verbesserungen an Hardwareunterstützung
  • Bugfixes
  • Videochat mit Google Talk
  • Sprachsuche Bugfix
  • Übertragung von Kalenderdaten verschlüsselt
API level 9, NDK 5
2.3.3 Gingerbread API level 10
3.0 Honeycomb Februar 2011
  • Tablet-PC-Unterstützung
  • Browserverbesserungen
  • Bugfixes
API level 11
3.1 Honeycomb API level 12, NDK 6
3.2 Honeycomb API level 13
4.0 Ice Cream Sandwich (ICS) 02. Oktober 2011
  • Faceunlock
  • Unterstützung aller Geräte
  • Multitaskingverbesserungen
API level 14, NDK 7
4.1.x Jelly Bean 27. Juni 2012
  • 60 FPS (Frames per second)
  • Diktieren ohne Internetzugang
  • Android Beam 2.0 (Datenaustausch per NFC)
  • Startbildschirm einfacher anzupassen
API level 16
4.2.x Jelly Bean 13. November 2012
  • Mehrbenutzerkonten (nur für Tablets)
  • DayDream (Interaktiver Screensaver)
  • Sekundäres Display (ermöglicht das Übertragen vom Screen auf ein zweites Gerät, z.B. Fernseher)
  • Widgets können nun auch auf dem Lockscreen angezeigt werden
  • RTL-Support (Layout für Sprachen, die von Rechts nach Links geschrieben werden)
API level 17
4.3.x Jelly Bean 24. Juli 2013
  • OpenGL ES 3.0-Unterstützung hinzugefügt
  • Bluetooth Smart ready
  • bessere Multiuserfunktionalität für Tablets (Restricted Profiles)
  • weitere API's hinzugefügt
  • kleinere Verbesserungen
API level 18
4.4 KitKat[3] 31. Oktober 2013
  • Google Experience Launcher, der dank Verlagerung in Google Suche-App auch für ältere Versionen erhältlich ist
  • mehr Integration von Google Now in System
  • Druckfunktion
  • Google Hangout als Standard SMS-App
  • ART zur Performance-Verbesserung
API level 19
4.4.1 KitKat 06. Dezember 2013
  • Android-Kamera überarbeitet /Geschwindigkeit
  • Fix für Unterstützung von Microsoft Exchange Server[4]
API level 19
4.4.2 KitKat 10. Dezember 2013
  • Fix für Fehler im VM Indicator[5]
  • Verbesserung an Sicherheitsfeatures
  • weitere Fehlerbehebungen
API level 19
4.4.3 KitKat 04. Juni 2014[6]

Dieser Changelog stammt aus keiner offiziellen Quelle und bildet den Stand vor dem Release der Version ab!

  • Fix für Abbrüche der Datenverbindung
  • Fix für Absturz mm-qcamera-daemon und Optimierungen
  • Fix für Kamera Fokus im normalen und HDR Modus
  • Fix für weitere Kamera-Probleme
  • Fix für Wakelock-Anzeige im Power-Manager Display
  • Fix für mehrere Bluetooth-Probleme
  • Fix für zufälligen Neustart
  • Fix für das zufällige Löschen von App-Verknüpfungen auf dem Desktop nach einem App-Update
  • Sicherheits-Patch für USB-Debugging
  • Sicherheits-Patch für App-Verknüpfungen
  • Fix für automatische WLAN-Verbindung
  • Fix für MMS, Email/Exchange, Kalender, People/Dialer/Kontakte, DSP, IPv6, VPN
  • Fix für Festsitzen im Aktivierungs--Screen
  • Fix für Verpasste-Anrufe LED
  • Fix für Untertitel
  • Fix für Datenverbrauchsanzeige
  • Fix für Internet-Telefonie
  • Fix FCC compliance
  • Fix für verschiedene, weitere Probleme
API level 19[7]
4.4.4 KitKat 04. Juni 2014[8]
  • diverse Bugfixes (u. A. [[Wikipedia:de:Heartbleed|OpenSSL Bug)
API level 19
4.4W KitKat "Wear" Juni 2014
  • angepasste Android-Version speziell für Wearables
API level 20[9]
5.0[10] Lollipop 16. Oktober 2014[11]
  • Anpassung an Google-Designrichtlinien (Material Design), u. A.
    neue UI-Elemente
    neue 3D Animationen
    überarbeitete Farben
  • Neue Benachrichtigungsleiste
  • Android Runtime (ART) als Standard (anstelle Dalvik VM)[12]
API level 21/L[13]
5.0.1 Lollipop 10. Dezember 2014
  • Zurücksetzen des Gerätes bei Anmelde-Fehlversuchen behoben
  • diverse Fehlerbehebungen
API level 21
5.0.2 Lollipop 19. Dezember 2014
  • Bug Fixes
API level 21
5.1[14] Lollipop 12. März 2015
  • Unterstützung für Multi-SIM-Geräte hinzugefügt[15]
  • Neues Feature: Device Protection
  • Unterstützung für HD Voice Anrufe zwischen kompatible Geräten und Mobilefunkprovidern (bspw. T-Mobile) hinzugefügt
  • WLAN-Verbindungen und Bluetooth-Paarungen können direkt von den Quick-Settings durchgeführt werden
  • Bug Fixes
API level 22
6.0 Marshmallow 17. August 2015

(Release des offiziellen SDK)

Hauptartikel: Android/M
  • Überarbeitetes App-Berechtigungssystem
  • Native Unterstützung für Fingerabdrucksensoren hinzugefügt
  • effektivere Energieverwaltung (Energiesparmodus), Codename Doze-Modus[16]
  • Überarbeitete Textmarkierungswerkzeuge
  • Google Now on Tap Unterstützung
  • Unterstützung für USB Typ-C
  • experimenteller MultiWindow-Modus
  • Bug Fixes
API level 23
6.0.1 Marshmallow 7.12.2015 API Level 23
7.0 Nougat 22.08.2016[17][18]
Hauptartikel: Android Nougat
unbekannt

[19] [20]

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.

Die API-Level sind ganze Zahlen ohne Lücken, machen also keine "Sprünge" wie die herkömmlichen Versionsnummern. Die Mindest-Android-Version, die eine Android-App auf einem Gerät benötigt, muss z.B. in der Manifest-Datei der App durch Angabe des API-Levels als Wert für das Attribut android:minSdkVersion des Tags <uses-sdk> eingetragen werden.

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 Androidversionen 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.[21] 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 standardmäßig installierte App, die es dem User ermöglicht, auf den App-Markt von Google zuzugreifen. Damit hat der Nutzer die Möglichkeit sich Apps kostenfrei oder kostenpflichtig zu kaufen und auf dem Gerät zu installieren.

Einzelnachweise

  1. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  2. Wikipedia:de:Android (Betriebssystem)#Architektur
  3. http://www.android.com/kitkat/
  4. http://www.androidnext.de/news/android-4-4-1-updates-fuer-nexus-4-5-und-7-2013-mit-ueberarbeiteter-kamera-app-vielen-detailverbesserungen-download/
  5. http://www.smartdroid.de/android-4-4-2-wird-fuer-die-nexus-geraete-verteilt/
  6. http://www.connect.de/news/android-4-4-3-bugfixes-rollout-2141236.html
  7. http://www.android-hilfe.de/android-kitkat/551243-android-4-4-3-es-sollte-nicht-mehr-all-zu-lang-dauern-7.html#post7431128
  8. http://www.connect.de/news/android-4-4-3-bugfixes-rollout-2141236.html
  9. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  10. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  11. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  12. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  13. Android SDK Manager (Android L developer preview)
  14. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  15. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  16. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  17. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatInterner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. Abgerufen am 2016-08-22.Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  18. 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. 2016-08-22, abgerufen am 2016-08-22 (en-us).Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  19. Wikipedia Android. Wikipedia mit der Versionshistorie.
  20. Source Android. Android Versionsübersicht mit API level
  21. http://developer.android.com/about/dashboards/index.html