Introduction à Android
- Historique.
- Les différents acteurs, Google, Linaro...
- Présentation de l'architecture d'Android.
Le système de fabrication d'Android (BUILD)
- Utilisation de GIT pour accéder aux sources d'Android.
- Les outils de compilation et l'émulateur Android.
- Utilisation du système de BUILD et fabrication d'une première image.
Travaux pratiques
Utilisation de la chaîne de compilation et de l'émulateur.
Le noyau Linux pour Android
- Rappels sur le noyau Linux et sur son développement.
- Les licences, GPL, Linux, Android, tiers.
- Configuration et compilation du noyau.
- Les apports d'Android.
- Le boot d'Android, les spécifications du boot d'Android.
Travaux pratiques
Configuration et fabrication d'un noyau Android, boot sur l'émulateur.
Outils de debug
- ADB : un debugger avec de nombreuses possibilités.
- Usage des logs, exécution de commandes à distance.
- Retour sur le système de fichiers d'Android.
- Accès aux différents composants.
Travaux pratiques
Utilisation de ADB pour gérer les logs et transférer des fichiers.
Ajout d'un périphérique
- Ajout d'un périphérique dans le système de fabrication d'Android.
- Architecture des makefiles et des fichiers de configuration.
- Etapes de compilation.
- S'approprier Android, modifier les informations système, build ID, info et écrans de boot.
Travaux pratiques
Ajouter un périphérique à Android, modifier les informations systèmes et l'écran de boot.
Le rootfs et les applications
- Structure du système de fichiers d'Android.
- Présentation des services standard d'Android.
- Structure des fournisseurs "service/contenu".
- Utilisation d'une interface JNI (Java Native Interface) et d'une bibliothèque pour accéder à des composants matériels.
Travaux pratiques
Personnalisation du système de fichiers d'Android, implémentation d'une interface Java et d'une bibliothèque simple pour accéder à un périphérique.
Application et packages Android
- Le packaging des applications Android, apk.
- Accès aux services depuis les applications.
- Cycle de vie d'une application.
Travaux pratiques
Intégrer sous forme de package une application qui accède à un périphérique au travers de l'interface JNI précédente.