Sélectionner une page

Noyau Linux

C’est la partie inférieure de l’architecture Android. Comprenons d’abord ce que signifie exactement Kernel. Le noyau est le module central d’un système d’exploitation. Il est responsable de la gestion de la mémoire, de la gestion des processus et de la gestion des disques. Fondamentalement, le noyau est la première couche de logiciel qui interagit avec le matériel du périphérique.

Ainsi, même Android a besoin d’un noyau et au lieu d’écrire le sien, ils choisissent Linux. Pourquoi ? Parce que Linux est open source, les développeurs Android de Google pourraient modifier le noyau Linux pour répondre à leurs besoins. Linux donne aux développeurs Android un noyau de système d’exploitation pré-construit et déjà maintenu pour commencer. C’est ainsi que de nombreux périphériques différents sont construits – par exemple, la PlayStation 4 utilise le noyau FreeBSD open-source, tandis que la Xbox One utilise le noyau Windows NT présent dans les versions modernes de Windows.

HAL (couche d’abstraction matérielle)

L’application/cadre Android communique avec le matériel sous-jacent via des API Java et non par des appels système. Mais le Linux a la capacité de ne traiter que les appels système à partir de l’application. C’est pourquoi il faut une couche qui sert de pont entre le logiciel et le matériel. HAL agit comme cette couche. La couche d’abstraction matérielle, ou HAL comme on l’appelle communément, définit une interface standard pour les fournisseurs de matériel à implémenter et permet aux applications Android d’être agnostiques sur les implémentations de pilotes de niveau inférieur. C’est une couche c/c+++ qui est une implémentation spécifique au fournisseur. Les implémentations HAL sont regroupées en modules (.so) et chargées par le système Android au moment opportun. Android HAL permet à l’application/cadre Android de communiquer avec les pilotes de périphériques spécifiques au matériel.

Bibliothèques

Sur le dessus de HAL nous avons un ensemble de bibliothèques Ces bibliothèques sont utilisées pour activer diverses fonctionnalités dans l’OS Android. Tout cela est écrit en C+++. J’énumère certaines de ces bibliothèques avec sa fonction.

Machine virtuelle Dalvik

Eh bien, je considère cela comme la partie la plus importante de l’architecture Android. C’est ce qui fait qu’Android -> »ANDROID »:P En fait, tout ce qui est au-dessus de ce niveau de l’architecture Android est écrit en Java. Donc, en gros, nous aurons un ensemble de fichiers.class. Exécuter ces fichiers.class sur un petit processeur mobile peut entraîner des problèmes. Dalvik Virtual machine convertit ces fichiers.class en fichiers.dex ce qui rend le traitement beaucoup plus rapide. Ces fichiers fonctionnent avec une empreinte mémoire minimale. Par conséquent, vous pouvez avoir plusieurs instances de cette machine virtuelle en cours d’exécution, c’est-à-dire multitâche. Dalvik Virtual Machine est similaire à la JVM mais la seule différence est qu’elle est conçue et optimisée pour Android.

Bibliothèques centrales

Il s’agit d’un ensemble de bibliothèques écrites en Java pour fournir des API pour le développement Android

Cadre d’application Android

C’est le niveau le plus élevé de l’architecture Android. Il s’agit essentiellement de l’environnement dans lequel votre application s’exécute. Cette couche fournit des API de haut niveau pour votre application android, lui permettant d’implémenter des fonctionnalités personnalisées. J’ai listé quelques composants ci-dessous

Gestionnaire d’activités – Contrôle tous les aspects du cycle de vie de l’application et de la pile d’activités.
Fournisseurs de contenu – Permet aux applications de publier et de partager des données avec d’autres applications.
Resource Manager – Fournit l’accès aux ressources embarquées non codées telles que les chaînes de caractères, les paramètres de couleur et les mises en page de l’interface utilisateur.
Gestionnaire de notifications – Permet aux applications d’afficher des alertes et des notifications à l’utilisateur.
Système de visualisation – Un ensemble extensible de vues utilisé pour créer des interfaces utilisateur d’application.
Gestionnaire de paquets – Le système par lequel les applications sont en mesure d’obtenir des informations sur les autres applications actuellement installées sur l’appareil.
Gestionnaire de téléphonie – Fournit à l’application des informations sur les services de téléphonie disponibles sur l’appareil, telles que l’état et les informations d’abonné.
Gestionnaire d’emplacements – Fournit un accès aux services de localisation permettant à une application de recevoir des mises à jour sur les changements d’emplacement.

Applications

Celui-ci contient toutes les applications que vous voyez sur votre appareil. Cela inclut les applications basées sur le système comme Contacts, Calendrier, etc. et toutes les applications que vous avez installées à partir de la playstore de Google. Tout cela est développé à l’aide d’APIs provenant de bibliothèques de base et du framework Android.