1. Contexte et état actuel d'Android
Le système Android a été créé par Andy Rubin puis racheté par Google ; la première version était Android 1.1. Aujourd'hui, la dernière version est Android M, lancée lors de la conférence Google I/O le 28 mai de cette année. Fait intéressant, toutes les versions d'Android portent des noms de desserts. Le tableau ci-dessous répertorie les 15 noms de versions d'Android, les numéros d'API correspondants et les dates de sortie !
| Nom de la version du système | Numéro de version de l'API | Date de publication |
|---|---|---|
| Android 1.5: Cupcake | 3 | 2009.4.30 |
| Android 1.6: Donut | 4 | 2009.9.15 |
| Android 2.0/2.0.1/2.1: Eclair | 5/6/7 | 2009.10.26 |
| Android 2.2/2.2.1: Froyo | 8 | 2010.5.20 |
| Android 2.3: Gingerbread | 9 | 2010.12.7 |
| Android 3.0: Honeycomb | 11 | 2011.2.2 |
| Android 3.1: Honeycomb | 12 | 2011.5.11 |
| Android 3.2: Honeycomb | 13 | 2011.7.13 |
| Android 4.0: Ice Cream Sandwich | 14 | 2011.10.19 |
| Android 4.1: Jelly Bean | 16 | 2012.6.28 |
| Android 4.2: Jelly Bean | 17 | 2012.10.30 |
| Android 4.3: Jelly Bean | 18 | 2013.7.25 |
| Android 4.4: KitKat | 19 | 2013.11.01 |
| Android 5.0: Lollipop | 21 | 2014.10.16 |
| Android M : version d'aperçu | 22 | 2015.5.28 |
OK, en plus des versions publiques ci-dessus, il y a bien sûr d'autres versions. En janvier 2015, la part de marché de chaque version est la suivante :
Après avoir lu les informations ci-dessus, nous pourrions nous poser cette question : Avec autant de versions du système, quelle version devons-nous cibler pour le développement ? C'est le problème de « fragmentation » d'Android auquel chaque développeur Android doit faire face, et ce problème se divise en deux parties : ① Fragmentation du système : lors du développement d'applications, nous pouvons avoir besoin d'assurer la compatibilité avec des versions inférieures, par exemple une version minimale compatible de 2.3. En raison de la prévalence des ROM personnalisées, les gens en Chine aiment apporter des modifications au système d'origine, ce qui entraîne des problèmes où les choses fonctionnent sur le système d'origine mais pas sur les ROM personnalisées, comme les appels caméra~ ② Fragmentation des écrans : il existe sur le marché des téléphones de toutes sortes de tailles d'écran, 4.3", 4.5", 4.7", 5.0", 5.3"... etc. Outre les téléphones, il y a aussi des tablettes Android, donc pendant le développement nous pouvons avoir besoin de gérer le problème de l'adaptation d'écran. Bien sûr, comme nous ne faisons qu'apprendre, nous n'avons pas besoin de considérer ces choses complexes ; nous les approfondirons plus tard dans le développement réel !
2. Fonctionnalités du système Android et architecture de la plateforme
Fonctionnalités du système :
- Prise en charge du framework d'applicationRéutilisation et remplacement de composants(Si une application suit les conventions du framework lors de sa publication, d'autres applications peuvent également utiliser ses modules)
- DalvikMachine virtuelle : optimisée spécifiquement pour les appareils mobiles - Navigateur intégré : moteur open sourceWebKitEngine
- SQLiteStockage de données structurées
- Bibliothèques graphiques optimisées, prise en charge multimédia, téléphonie GSM, Bluetooth, etc.
- Adopterla pile logiciellecomme approche de construction
Diagramme de l’architecture de la plateforme :

Compréhension simple de l’architecture :
- Application (couche Application)Le développement de la couche application dont nous parlons habituellement est effectué à ce niveau, ce qui inclut bien sûr un ensemble d’applications système intégrées, utilisant le langage Java
- Application Framework (couche Application Framework)Qu’il s’agisse d’applications intégrées au système ou d’applications que nous écrivons nous-mêmes, elles doivent toutes utiliser cette couche. Par exemple, si nous voulons créer une liste noire d’appels ou raccrocher automatiquement les appels, nous devons utiliser TelephonyManager. Grâce à cette couche, nous pouvons facilement mettre en œuvre l’opération de raccrochage sans nous soucier de l’implémentation sous-jacente
- Bibliothèques + Android RuntimeAndroid nous fournit un ensemble de bibliothèques C/C++ utilisées par différents composants de la plateforme, tels que le framework multimédia. L’Android Runtime est composé de l’ensemble de bibliothèques principales d’Android et de la machine virtuelle Dalvik. La Dalvik VM est une machine virtuelle conçue pour les appareils mobiles. Ses caractéristiques : elle ne nécessite pas une vitesse de calcul CPU très rapide ni une grande quantité d’espace mémoire. Chaque application s’exécute indépendamment dans sa propre Dalvik VM (chaque application correspond à un processus Dalvik). Son flux d’exécution simple est le suivant :
- Noyau LinuxC’est ici que les pilotes sous-jacents interviennent, ainsi que certains services système tels que la sécurité, la gestion de la mémoire et la gestion des processus
3. Résumé de cette section :
Dans cette section, nous avons passé en revue le contexte historique et l’état actuel d’Android, puis brièvement analysé les caractéristiques système et l’architecture système d’Android. Ces notions conceptuelles nécessitent simplement une brève compréhension. Dans la section suivante, nous commencerons à configurer l’environnement Android !

