Android ArchiStruktur: Anwendungsschichten, Framework, Komponente

Die Erstveröffentlichung des Android-Betriebssystems erfolgte im Jahr 2008. Schon zu Beginn baute das Team hinter dem Betriebssystem es auf den Schultern von Giganten auf. Über die Benutzeroberfläche hinaus, die das Android-Betriebssystem oberflächlich darstellt, besteht es aus mehreren Ebenen. Diese Schichten umfassen benutzerdefinierten Code und Open-Source-Technologien, die seit Jahrzehnten kontinuierlich weiterentwickelt werden.

Android wurde durch massive gemeinsame Anstrengungen und Investitionen vieler Unternehmen entwickelt. Das Hauptunternehmen hinter der Android-Entwicklung ist Google. Zu den weiteren Unternehmen zählen Gerätehersteller wie Samsung, LG; Prozessorhersteller wie Intel und ARM, um nur einige zu nennen.

Wenn wir über Android sprechen archiMit „Tektur“ meinen wir, wie das Android-System entworfen, in Schichten segmentiert und aufgebaut wurde, um als System zu funktionieren. So ein Com aufbauenplex Das System erfordert eine sorgfältige Strukturierung, um sicherzustellen, dass alle Komponenten kohärent zusammenarbeiten. Es ist archiDie Struktur stellt sicher, dass die vielen Komponenten als Ganzes funktionieren, ohne abzustürzen.

In diesem Tutorial lernen Sie:

Schichten

Die folgendenwing sind die Schichten, aus denen das Android besteht archiStruktur wie im Diagramm angegeben:

  1. Anwendung
  2. Framework-Anwendung
  3. Android-Laufzeit- und Kernbibliotheken
  4. Linux Kernel

Die Entwicklung eines Betriebssystems für mobile Geräte bringt eine Reihe von Herausforderungen mit sich. Verwenden Sie diese Schicht archiDie Struktur sorgt dafür, dass unterschiedliche Probleme auf unterschiedlichen Ebenen zerlegt und gelöst werden.

Eine geschichtete architecture hilft dabei, Bedenken zu trennen und sicherzustellen, dass sich Android-Softwareentwickler nicht ständig mit Problemen auf niedriger Ebene auseinandersetzen müssen. Stattdessen können sie sich darauf konzentrieren, einen geschäftlichen Mehrwert für die Ebene zu schaffen, an der sie arbeiten.

Entwickler arbeiten daran, Apps zu ermöglichen, ohne sich um die Implementierung des Anwendungsframeworks kümmern zu müssen. Diese Arbeit bleibt den Systementwicklern überlassen, die am Anwendungsframework arbeiten.

Das Anwendungsframeworkk developDie Entwickler arbeiten an der Entwicklererfahrung und müssen sich nicht um die Low-Level-Treiber kümmern. Low-Level-Systemingenieure können sich vollständig auf Low-Level-Komponenten wie Bluetooth- oder Audiotreiber und dergleichen konzentrieren.

Die geschichtete Struktur von Android ermöglicht es, Updates mit Fehlerbehebungen oder Verbesserungen auf jeder Ebene einzeln anzuwenden. Dadurch wird sichergestellt, dass sich Änderungen zwischen den Ebenen nicht gegenseitig beeinträchtigen. Dadurch ist es für Personen, die auf einer anderen Ebene des Betriebssystems arbeiten, möglich, sich gegenseitig zu behindern, wenn neue Updates und Releases durchgeführt werden.

Applikation für Android

Applikation für Android
Applikation für Android

Dies ist die Ebene, mit der Endbenutzer interagieren. Auf dieser Ebene veröffentlichen Anwendungsentwickler ihre Anwendungen zur Ausführung.

Android verfügt standardmäßig über eine Reihe von Anwendungen, die Android-Geräte von Anfang an nutzbar machen.

  1. Home: Die Homepage auf Android besteht aus Startsymbolen für häufig verwendete Anwendungen, auf die der Endbenutzer möglicherweise schnell zugreifen möchte. Sie können die Apps starten, indem Sie auf die Launcher dieser Apps klicken. Ganz oben auf dem Bildschirm befinden sich Widgets, die Netzwerk, Akkustand, Datum und Uhrzeit anzeigen.
  2. Kontakte: Android bietet standardmäßig eine Möglichkeit zum Speichern und Abrufen von Kontakten. Kontaktinformationen werden mit anderen Apps geteilt, um die Funktionalität zu verbessern.
  3. Nachrichten: Android bietet die Möglichkeit, SMS-Nachrichten zu senden und zu empfangen.
  4. Email: Android bietet native Unterstützung für zmail Dienstleistungen. Zum Einrichten eines Android-Geräts ist ein G. erforderlichmail Konto. G einrichtenmail aktiviert andere email-abhängige Komponenten auf Android-Geräten. Einige zmail Zu den abhängigen Funktionen gehören Sicherheits- und Wiederherstellungsmechanismen. Noch ein Email Abhängige Funktion ist der Zugriff auf den Play Store, einen Marktplatz für Android-Anwendungen.
  5. Browser: Android wird mit einem Standardbrowser geliefert.
  6. Benachrichtigungsschublade: Wenn Sie auf dem Bildschirm nach unten wischen, wird die Benachrichtigungsleiste angezeigt. Es stellt Anwendungsereignisse bereit, die der Benutzer kennen sollte. Über der Benachrichtigung befinden sich eine Reihe von Verknüpfungen zu einigen häufig verwendeten Geräteeinstellungen, die die Benutzer umschalten können. Zu diesen Einstellungen gehört das Ein- und Ausschalten verschiedener Hardwarekomponenten wie Bluetooth und WLAN. Durch langes Drücken dieser Ereignisse können wir zu ihrer Konfigurationsseite navigieren.

Diese Ebene wird auch als Benutzerebene bezeichnet, im Gegensatz zu den darunter liegenden Ebenen, die hauptsächlich auf die Anwendungsentwicklung abgestimmt sind. Anwendungsentwickler erstellen und passen die Erlebnisse für ihre Apps auf dieser Ebene an. Die Schichten unterhalb der Anwendungsschicht werden von Anwendungsentwicklern nicht angepasst. Sie gelten als Teil der Systemschicht. Diese Ebenen werden von Geräteherstellern, Android-Teams von Google oder Dritten angepasst, die den Android-Quellcode für ihr Produkt oder ihre Forschung verwenden möchten.

Framework-Anwendung

Das Android-Betriebssystem stellt die zugrunde liegenden Bibliotheken und Funktionen des Android-Geräts bereit, die eine Java-API verwenden. Dies ist das sogenannte Android-Framework. Das Framework bietet eine sichere und einheitliche Möglichkeit zur Nutzung von Android-Geräteressourcen.

Framework-Anwendung
Anwendungsrahmen

1) Aktivitätsmanager

Anwendungen nutzen die Android-Aktivitätskomponente, um einen Einstiegspunkt für die App darzustellen. Android-Aktivitäten sind die Komponenten, die die Benutzeroberfläche beherbergen, mit der App-Benutzer interagieren. Wenn Endbenutzer mit dem Android-Gerät interagieren, starten, stoppen und springen sie zwischen vielen Anwendungen hin und her. Jedes Navigationsereignis löst die Aktivierung und Deaktivierung vieler Aktivitäten in den jeweiligen Anwendungen aus.

Der Android ActivityManager ist für vorhersehbares und konsistentes Verhalten bei Anwendungsübergängen verantwortlich. Der ActivityManager bietet App-Erstellern die Möglichkeit, ihre Apps reagieren zu lassen, wenn das Android-Betriebssystem globale Aktionen ausführt. Anwendungen können Ereignisse wie Geräterotation, App-Zerstörung aufgrund von Speichermangel, das Verschieben einer App aus dem Fokus usw. überwachen.

Einige Beispiele dafür, wie Anwendungen auf diese Übergänge reagieren können, sind das Anhalten der Aktivität in einem Spiel oder das Anhalten der Musikwiedergabe während eines Telefongesprächs.

2) Fenstermanager

Android kann Bildschirminformationen ermitteln, um die für die Erstellung erforderlichen Anforderungen zu ermitteln windows für Anwendungen. Windows sind die Slots, in denen wir die Benutzeroberfläche unserer App sehen können. Android verwendet den Fenstermanager, um diese Informationen den Apps und dem System während der Ausführung zur Verfügung zu stellen, damit sie sich an den Modus anpassen können, in dem das Gerät ausgeführt wird.

Der Window Manager hilft bei der Bereitstellung eines individuellen App-Erlebnisses. Apps können für ein immersives Erlebnis den gesamten Bildschirm ausfüllen oder den Bildschirm mit anderen Apps teilen. Android ermöglicht dies per Allowing Multi-windows für jede App.

3) Standortmanager

Die meisten Android-Geräte sind mit GPS-Geräten ausgestattet, die den Standort des Benutzers mithilfe von Satelliteninformationen ermitteln können, die bis auf den Meter genau sein können. Programmierer können die Benutzer um eine Standortberechtigung bitten, Standortinformationen bereitstellen und Erfahrungen sammeln.

Android ist auch in der Lage, drahtlose Technologien zu nutzen, um die Standortbestimmung weiter zu verbesserntails und erhöhen Sie die Abdeckung, wenn sich Geräte in geschlossenen Räumen befinden. Android bietet diese Funktionen unter dem Dach des Location-Managers.

4) Telefonie-Manager

Die meisten Android-Geräte spielen eine wichtige Rolle in der Telefonie. Android verwendet TelephoneManager, um Hardware- und Softwarekomponenten zu kombinieren, um Telefoniefunktionen bereitzustellen. Zu den Hardwarekomponenten gehören externe Teile wie die SIM-Karte und Geräteteile wie Mikrofon, Kamera und Lautsprecher. Zu den Softwarekomponenten gehören native Komponenten wie Wähltastatur, Telefonbuch, Klingeltonprofile. Mithilfe des TelephoneManager kann ein Entwickler die Standardanruffunktionalität erweitern oder optimieren.

5) Ressourcenmanager

Android-Apps enthalten normalerweise mehr als nur Code. Sie verfügen auch über andere Ressourcen wie Symbole, Audio- und Videodateien, Animationen, Textdateien und dergleichen. Android hilft dabei, einen effizienten und reaktionsschnellen Zugriff auf diese Ressourcen sicherzustellen. Es stellt außerdem sicher, dass den Endbenutzern die richtigen Ressourcen bereitgestellt werden. Beispielsweise werden beim Ausfüllen von Feldern in den Apps Textdateien in der richtigen Sprache verwendet.

6) System anzeigen

Android bietet außerdem die Möglichkeit, auf einfache Weise allgemeine visuelle Komponenten zu erstellen, die für die App-Interaktion erforderlich sind. Zu diesen Komponenten gehören Widgets wie Schaltflächen, Bildhalter wie ImageView, Komponenten zum Anzeigen einer Liste von Elementen wie ListView und viele mehr. Die Komponenten sind vorgefertigt, können aber auch an die Bedürfnisse und das Branding der App-Entwickler angepasst werden.

7) Benachrichtigungsmanager

Der Notification Manager ist dafür verantwortlich, Android-Benutzer über Anwendungsereignisse zu informieren. Dies geschieht, indem dem Benutzer beim Eintreten eines Ereignisses visuelle, akustische oder Vibrationssignale oder eine Kombination davon übermittelt werden. Diese Ereignisse haben externe und interne Auslöser. Einige Beispiele für interne Auslöser sind Statusereignisse bei niedrigem Batteriestand, die eine Benachrichtigung auslösen, die auf einen niedrigen Batteriestand hinweist. Ein weiteres Beispiel sind benutzerdefinierte Ereignisse wie ein Alarm. Zu den externen Auslösern gehören beispielsweise neue Nachrichten oder die Erkennung neuer WLAN-Netzwerke.

Android bietet Programmierern und Endbenutzern die Möglichkeit, das Benachrichtigungssystem zu optimieren. Dies kann dazu beitragen, sicherzustellen, dass sie Benachrichtigungsereignisse auf eine Weise senden und empfangen können, die am besten zu ihnen und ihrer aktuellen Umgebung passt.

8) Paketmanager

Android bietet außerdem Zugriff auf Informationen zu installierten Anwendungen. Android verfolgt Anwendungsinformationen wie Installations- und Deinstallationsereignisse, von der App angeforderte Berechtigungen und Ressourcennutzung wie Speicherverbrauch.

Diese Informationen können es Entwicklern ermöglichen, ihre Anwendungen so zu gestalten, dass sie die Funktionalität abhängig von den neuen Funktionen der Begleit-Apps aktivieren oder deaktivieren.

9) Inhaltsanbieter

Android verfügt über eine standardisierte Möglichkeit, Daten zwischen Anwendungen auf dem Gerät über den Inhaltsanbieter auszutauschen. Entwickler können den Inhaltsanbieter verwenden, um Daten für andere Anwendungen verfügbar zu machen. Sie können beispielsweise die App-Daten für externe Suchanwendungen durchsuchbar machen. Android selbst stellt Daten wie Kalenderdaten, Kontaktdaten und dergleichen über dasselbe System bereit.

Android Runtime und Core/Native-Bibliotheken

Bibliotheken
Bibliotheken

1) Android-Runtime

Android verwendet derzeit Android Runtime (ART), um Anwendungscode auszuführen. ART geht die Dalvik Runtime voraus, die Entwicklercode in ausführbare Dalvik-Dateien (Dex-Dateien) kompiliert. Diese Ausführungsumgebungen sind für die Android-Plattform optimiert und berücksichtigen die Prozessor- und Speicherbeschränkungen auf Mobilgeräten.

Die Laufzeit übersetzt von Programmierern geschriebenen Code in Maschinencode, der Berechnungen durchführt und Android-Framework-Komponenten nutzt, um Funktionalität bereitzustellen. Android hostet mehrere Anwendungen und Systemkomponenten, die jeweils in ihren eigenen Prozessen ausgeführt werden.

Kernbibliotheken

In diesem Abschnitt besprechen wir einige der Kernbibliotheken, die im Android-Betriebssystem vorhanden sind.

2) MediaFramework

Android unterstützt auch nativ beliebte Mediencodecs, sodass auf der Android-Plattform erstellte Apps problemlos Multimedia-Komponenten verwenden/abspielen können box.

3) SQLite

Android hat auch eine SQLite-Datenbank Dies ermöglicht Anwendungen eine sehr schnelle native Datenbankfunktionalität, ohne dass Bibliotheken von Drittanbietern erforderlich sind.

4) Freetype

Android verfügt über eine vorinstallierte schnelle und flexible Schriftarten-Engine. Dies ermöglicht es Anwendungsentwicklern, Komponenten ihrer Anwendung zu gestalten und ein umfassendes Erlebnis zu bieten, das die Absicht des Entwicklers kommuniziert.

5) OpenGL

Android verfügt außerdem über das OpenGL-Grafiksystem. Es handelt sich um eine C-Bibliothek, die Android dabei hilft, Hardwarekomponenten beim Echtzeit-Rendering von 2D- und 3D-Grafiken zu verwenden.

6) SSL

Android verfügt außerdem über eine integrierte Sicherheitsschicht, um eine sichere Kommunikation zwischen Anwendungen auf Android und anderen Geräten wie Servern, anderen Mobilgeräten und Routern zu ermöglichen 6.

7) SGL

Android verfügt über eine in Low-Level-Code implementierte Grafikbibliothek, die Grafiken für die Android-Plattform effizient rendert. Es funktioniert mit den übergeordneten Komponenten der Android-Grafikpipeline des Android-Frameworks.

8) Libc

Der Kern von Android enthält Bibliotheken, die in C und C++ geschrieben sind. Hierbei handelt es sich um Low-Level-Sprachen für den eingebetteten Einsatz, die zur Maximierung der Leistung beitragen. Libc bietet eine Möglichkeit, diesen Bibliotheken Low-Level-Systemfunktionen wie Threads, Sockets, IO und dergleichen zur Verfügung zu stellen.

9) Webkit

Dabei handelt es sich um eine Open-Source-Browser-Engine, die als Grundlage für die Erstellung von Browsern dient. Der Standard-Android-Browser vor Version 4.4 KitKat verwendet es zum Rendern von Webseiten. Es ermöglicht Anwendungsentwicklern, Webkomponenten mithilfe von WebView im Ansichtssystem zu rendern. Dadurch können Apps Webkomponenten in ihre Funktionalität integrieren.

10) Oberflächenmanager

Der Oberflächenmanager ist für die reibungslose Darstellung der Anwendungsbildschirme verantwortlich. Dies geschieht durch die Zusammenstellung von 2D- und 3D-Grafiken zum Rendern. Darüber hinaus wird dies auch außerhalb des Bildschirms ermöglicht buffering.

Linux Kernel

Die Stammkomponente des Android-Systems ist der Linux-Kernel. Es ist der foundationEin Teil, das alle Android-Funktionen ermöglicht.

Linux Kernel

Der Linux-Kernel ist eine kampferprobte Software, die bei der Entwicklung verwendet wurde Betriebssysteme für Geräte verschiedenster Art, vom Supercomputer bis zum kleinen Gerät. Es verfügt über begrenzte Verarbeitungsfähigkeiten wie kleine vernetzte Geräte für das Internet der Dinge (IoT).

Der Linux-Kernel kann an die Gerätespezifikationen angepasst werden, um es Herstellern zu ermöglichen, Android-Geräte mit unterschiedlichen Funktionen zu entwickeln, die dem Benutzererlebnis entsprechen.

Bei Android ist der Kernel für viele verantwortlich foundationAlle Funktionalitäten, einschließlich, aber nicht beschränkt auf diese:

  1. Gerätetreiber
  2. Speicherverwaltung
  3. Prozessmanagement

Lassen Sie uns einige der Funktionen näher erläutern:

Gerätetreiber

Der Linux-Kernel enthält die Treiber, die erforderlich sind, damit das Betriebssystem mit verschiedenen Hardwarekomponenten arbeiten kann. Diese Treiber stellen eine Standardschnittstelle bereit, mit der Hardwarekomponenten verschiedener Hersteller arbeiten können.

Dies ermöglicht es Geräteherstellern, unterschiedliche Komponenten zu beziehen, beispielsweise Bluetooth-Komponenten, WLAN-Komponenten und Kamerakomponenten. Solange die Hersteller die Android-Standardspezifikationen einhalten, erfolgt die Integration nahtlos.

1) USB-Treiber

Linux bietet Android auch die Möglichkeit, eine Schnittstelle zu USB-Geräten herzustellen. Moderne Geräte verfügen über verschiedene USB-Anschlüsse, darunter USB 2.0 und neue USB-Versionen, darunter USB-C. Diese Treiber ermöglichen die Verwendung des USB-Anschlusses zum Aufladen, zum Übertragen von Live-Daten wie Protokollen von Android-Geräten und zur Interaktion mit dem Android Dateisystem.

2) Bluetooth-Treiber

Der Linux-Kernel bietet Unterstützung für die Verbindung mit Bluetooth-Hardwarekomponenten. Es bietet eine Möglichkeit, Daten zu lesen und zu schreiben, die von unterstützten Bluetooth-Funkfrequenzen empfangen werden. Es bietet außerdem eine Reihe von Funktionen für Android zur Konfiguration von Bluetooth.

3) WLAN-Treiber

Der Linux-Kernel stellt Treiber zur Integration der WiFi-Netzwerk-Hardwarekomponenten bereit. In Mobilgeräten eingebettete WLAN-Komponenten ermöglichen Android-Geräten die Verbindung mit WLAN-Netzwerken. Der Treiber ermöglicht es den WLAN-Komponenten, WLAN-Netzwerke zu verbreiten und Hotspots zu erstellen.

4) Anzeigetreiber

Android ermöglicht die Schnittstelle zu Anzeigekomponenten. Bei den meisten Geräten handelt es sich bei der Schnittstellenkomponente um einen LCD-Touchscreen. Es ermöglicht Unterstützung beim Konfigurieren und Zeichnenwing Pixel.

5) Audiotreiber

Android-Geräte verfügen üblicherweise über Hardwarekomponenten für die Audioein- und -ausgabe. Audiotreiber im Kernel ermöglichen es dem Android-System, von diesen Komponenten empfangenes Audio zu verwenden und auch eine Audioausgabe zu erzeugen.

6) Energiemanager

Die meisten Android-Geräte werden verwendet, ohne an die Steckdose angeschlossen zu sein. Sie sind daher für einen großen Teil ihrer Nutzung auf Batterien angewiesen. Der Linux-Kernel verfügt über ein Energieverwaltungssystem, das so konfiguriert werden kann, dass es den Anforderungen der Geräte entspricht, die es verwenden.

Das Android-Betriebssystem nutzt den Energiemanager, um andere Komponenten auf dem Gerät energiebewusst zu machen. Dies geschieht durch die Übertragung verschiedener machtbezogener Zustände. Diese Zustände sind Standby, Ruhezustand und niedriger Akkustand. Unter Android ist der Energiemanager so angepasst, dass er standardmäßig in den Ruhemodus wechselt, um eine maximale Akkulaufzeit zu gewährleisten.

Der Power Manager bietet Anwendungen die Möglichkeit, auf verschiedene Energiemodi zu reagieren. Anwendungen können ihr Verhalten auch ändern, um es an den aktuellen Energiezustand des Geräts anzupassen.

Eine Anwendung kann auch eine Änderung der Standard-Energierichtlinien anfordern. Anwendungen können die gewünschte Funktionalität erreichen, beispielsweise das Aktivhalten der Hardwarekomponenten. Ein Beispiel besteht darin, den Bildschirm beim Lesen eines Buches aktiv zu halten, um sicherzustellen, dass ein Benutzer nicht unterbrochen wird. Ein weiteres Beispiel besteht darin, die Audiokomponenten eingeschaltet zu lassen, während im Hintergrund Musik gehört wird.

7) Flash-Speicher

Die meisten Android-Geräte verwenden Flash-Speicher als Speichermedium. Flash-Speicher sind schnell und benötigen weniger Platz, was sie ideal für kleine Geräte macht. Der Linux-Kernel bietet Android-Geräten die Möglichkeit, in den Flash-Speicher zu lesen und zu schreiben. Es bietet die Möglichkeit, den Speicher so zu partitionieren, dass das Betriebssystem und andere Anwendungen die Speicherressource einfach und effizient gemeinsam nutzen können.

8) Bindemittel

Android hostet viele Anwendungen und Systemkomponenten, die jeweils in ihren eigenen Prozessen ausgeführt werden. In den meisten Fällen sollten diese Prozesse voneinander isoliert werden, um Störungen und Datenbeschädigungen zu verhindern. Dennoch gibt es Fälle, in denen wir Daten von einem Prozess an einen anderen weitergeben möchten.

Der Linux-Kernel ermöglicht die Datenfreigabefunktion durch die Bereitstellung von Binder-Treibern. Binder-Treiber ermöglichen die Kommunikation zwischen Prozessen, IPC. Mithilfe von IPC-Prozessen können andere Prozesse entdeckt und Informationen ausgetauscht werden.

Speicherverwaltung

Eine weitere Aufgabe des Linux-Kernels ist die Speicherverwaltung. Wenn verschiedene Anwendungen ausgeführt werden, stellt der Kernel sicher, dass der von ihnen verwendete Speicherplatz nicht in Konflikt gerät und sich gegenseitig überschreibt.

Es trägt außerdem dazu bei, dass alle laufenden Apps über ausreichend Arbeitsspeicher verfügen, sodass keine einzelne App zu viel Platz beansprucht.

Prozessmanagement

Jede App in Android läuft in einem Prozess. Der Kernel ist auch für die Verwaltung von Prozessen verantwortlich. Dies bedeutet, dass es für das Erstellen, Anhalten, Stoppen, Beenden oder Beenden von Prozessen verantwortlich ist.

Der Kernel ermöglicht verschiedene Funktionalitäten wie die gleichzeitige Ausführung mehrerer Prozesse, die Kommunikation zwischen Prozessen, die Ausführung von Prozessen im Hintergrund usw.

Da jeder Prozess seinen eigenen Speicherplatz benötigt, um ordnungsgemäß zu funktionieren, stellt der Kernel sicher, dass die jedem Prozess zugewiesenen Speicherplätze vor anderen Prozessen geschützt sind. Es stellt auch sicher, dass Ressourcen wie RAM Die den Prozessen zugewiesenen Daten werden freigegeben, wenn die Prozesse heruntergefahren werden.

Der Linux-Kernel ist auch für die Verteilung der Arbeit an die im Gerät vorhandenen Prozessoren verantwortlich. Dadurch ist es möglich, die Leistung von Geräten mit mehreren Kernen zu maximieren, da unterschiedliche Apps Prozesse auf einem anderen Kern ausführen.

Der Linux-Kernel erledigt unter der Haube weitere Aufgaben, einschließlich der Durchsetzung der Sicherheit.

Zusammenfassung:

  • Android archiDie Struktur ist in Schichten organisiert.
  • Jede Schicht löst eine einzigartige Reihe von Problemen.
  • Endbenutzer interagieren mit Apps auf der Anwendungsebene
  • Anwendungsentwickler entwickeln Apps zur Verwendung auf der Anwendungsebene. Sie tun dies mithilfe von Tools und Abstraktionen, die vom Application Framework bereitgestellt werden.
  • Die Android-Framework-Ebene vereinfacht den Zugriff auf Low-Level-Komponenten durch die Erstellung einer API über native Bibliotheken.
  • Android Runtime und Core-Bibliotheken nutzen Low-Level-Sprachen zusammen mit Optimierungen für mobile Geräte. Dadurch wird sichergestellt, dass der von Anwendungsentwicklern geschriebene Code trotz Einschränkungen bei Android-Geräten reibungslos funktioniert.
  • Am Ende des Android-Software-Stacks befindet sich der Linux-Kernel. Es ist mit den in Android-Geräten üblichen Hardwarekomponenten verbunden.