Ce stage «Android Platform: Source Code Building» a pour objectif la maîtrise du déploiement du système Google Android® sur plate-forme matérielle ARM Linux.
Cette formation aborde les concepts de construction de l’ensemble de la plate-forme Google Android par l’étude :
- de son architecture et des spécificités de la plate-forme Android/Linux,
- de ses codes sources et de la chaîne de développement,
- des paramétrages et construction du système complet,
- du SDK Android, de l’émulateur et de l’environnement de développement.
La formation «Android Platform : Source Code Building» est adaptée aux développeurs en informatique et techniciens ayant quelques notions dans le domaine de l’informatique Open Source, confrontés aux problèmes de portage du système Google Android sur une plate-forme matérielle Mobile.
Android : présentation
• Vue d’ensemble du système
• Licences Open Source et Android
• Android Application Framework
• La machine virtuelle Dalvik
• Le SDK Android 2.x, 3.x et 4.x
Travaux pratiques
• Mise en oeuvre de l’environnement de développement Eclipse et du plugin ADT
• Mise en oeuvre de l’émulateur Android
Android platform : chaîne de développement croisé
• Méthodes, outils et chaîne de développement croisé, binutils, …
• Makefile, compilateur et débogueur GNU ARM Cortex A9
• Utilitaire GIT
Travaux pratiques
• Mise en oeuvre de l’utilitaire GIT et gestion des dépôts et
téléchargement des sources Android
• Installation d’une chaîne de développement croisé
ARM Cortex A9 EABI pour Code Source Android
Linux Kernel pour Android : configuration et compilation du noyau
• Structure des sources et modules du noyau
• Patchs linux Kernel Android pour OMAP 4430
Travaux pratiques
• Téléchargement des sources Linux Kernel patch Android au travers du GIT
• Configuration et compilation du noyau pour Android pour plate-forme phyCORE OMAP 4430
Android : compilation de la plate-forme
• Etudes des sources du système Android
• Paramétrage de la plate-forme
Travaux pratiques
• Configuration et compilation du système Android complet
Android Linux : spécificité du système Linux pour Android
• Séquence de Boot Linux et init de la plate-forme Android
• Systèmes de fichiers de la plate-forme Android
Travaux pratiques : construction de la plate-forme Android
• Construction et préparation du File System Android pour être flashé sur
la plate-forme phyCORE OMAP 443x
• Test du système Android sur la plate-forme phyCORE OMAP 443x
Android Drivers
• Architecture des drivers Linux Android
• Insertion et compilation de drivers spécifiques à la plateforme matérielle
• Création d’un patch kernel driver aux sources officielles
• API Kernel Driver
• Techniques de mise au point des drivers
Travaux pratiques
• Compilation et installation d’un driver propriétaire sur plateforme Android
Android USB Gadget Driver : étude du driver USB device
• Standard USB et support Host et Device
• USB Core / USB Gadget - Architecture des pilotes USB sous Linux et Android
• Descripteur et classe USB device sous Android : HID, CDC, Mass storage ...
Android SDK
• Bionic librairy : adaptation de la libC au système Google Android
• Cycle de vie d’une application Android
• Android Native Development Kit
Travaux pratiques
• Construction d’une application Java Android 2.0
• Construction d’une application Native Android