+ +
- -
Systèmes d'Exploitation
Calendrier  Détails
Programmation
 
Calendrier  Détails
Processeurs ARM
 
Calendrier  Détails
Processeurs PowerPC
 
 
 
 
Calendrier  Détails
Communications
 
Calendrier  Détails
+ +
> >
- -

 
ac6 >> ac6-formation >> Systèmes d'Exploitation >> Android >> Installation d'Android Télécharger le catalogue Télécharger la page Ecrivez nous Version imprimable

G1 Installation d'Android

Installation d'Android sur une plateforme matérielle

Installation d'Android sur une plateforme matérielle
formateur
Objectifs
  • Comprendre les spécificités du système Android.
  • Savoir paramétrer et compiler les sources d'Android pour obtenir un système fonctionnel.
  • Maîtriser le fonctionnement de l'émulateur fourni par Android.
  • Savoir mettre en place les outils pour tester le système Android avant flashage.
  • Détailler les procédures de flashage des différents fichiers images.
Les exercices sont réalisés sur carte cible à base de Cortex/A9 multicore et avec une sonde Lauterbach pour le debug:
    Carte "Sabre" à base de NXP i.MX6.
    Carte "Pandaboard" à base de TI OMAP4.
Nous utilisons la dernière version libre d'Android, telle que supportée par la carte.
Lors des formations surt site, nous apportons des disques durs USB bootables sous Linux et préconfigurés; la seule contrainte est alors de disposer de PCs récents (intel core 2 ou plus récent), sachant booter sur USB, avec au moins 2Gb de RAM.
Matériel
  • Support de cours
  • Un PC par binôme
  • Une plateforme cible par binôme
  • Documentation et solution des exercices sur CDROM
Pré-requis
  • Connaissances de l'installation de Linux embarqué et du noyau Linux.

1er jour
Présentation d'Android
  • Android
    • Historique d'Android
    • L'Open Handset Alliance
    • Portage existant (HTC Dream, Magic, ...)
  • Les diverses licences (GPL, LGPL, BSD, Apache, etc.) utilisées par Android.
L'outil de gestion des sources GIT
  • Installation et utilisation courante
    • Création et utilisation d'un dépôt local
    • Connexion et utilisation d'un dépôt distant
Exercise :  Utilisation de Git pour gérer plusieurs version du code source d'un programme.
  • Développement dans des branches
    • Création d'une nouvelle branche
    • Merge de deux branches
Exercise :  Utilisation de branches "vendeur"
  • Travail en équipe
    • Création, configuration et utilisation d'un dépôt public
    • Création et application d'un patch
Exercise :  Création d'un dépôt partagé
Le noyau Linux d'Android
  • Téléchargement des sources
  • Les drivers spécifiques Android
    • Binder
    • Logger
    • Low_memory_killer
    • Timed_output
    • Timed_gpio
  • Paramétrage pour Android
  • Compilation du noyau pour la cible
Exercise :  Configuration et compilation d'un noyau Linux pur Android
Exercise :  Vérification des premières phases du boot du noyau
2eme jour
Le boot d'Android
  • Les différents types de boot
  • U-Boot
    • Compilation et paramètrage
    • Porting the U-Boot bootloader
  • RedBoot
  • Le boot de Linux
  • La séquence de boot d'Android
Le système Android
  • Téléchargement des sources
  • Exploration du système Android
  • Structure des sources
    • La libraire Bionic
    • La JVM Dalvik
    • Les packages initiaux
  • Compilation du système.
    • Le script build/envsetup.sh
Exercise :  Compilation du système Android complet
  • Le langage d'initialisation d'Android
Exercise :  Modification et paramétrage du script d'initialisation
Le BSP Android
  • Le build-system Android
    • Les fichiers Android.mk
  • Création d'une nouvelle plateforme Android
    • Création d'un nouveau vendeur
    • Création des fichiers de paramétrage pour une machine cible
    • Choix des options de compilation liées à l'architecture processeur
Exercise :  Compilation d'une nouvelle plateforme Android
  • Ajout de composants en code natif
    • Définition de méthodes Java en C++
    • Le NDK Andoid
    • JNI pour Android
    • Utilisation de SWIG
  • Le Binder d'Android
    • Ecriture de services en C++
    • L'interface C++ du binder
Exercise :  Compilation d'un composant individuel
3eme jour
Le SDK Android
  • Présentation et installation du SDK
  • Les AVDs (Android Virtual Devices)
    • Création
    • Configuration
    • Utilisation
  • Le plug-in ADT (Android Development Toolkit)
  • Installation du plug-in ADT sous Eclipse
    • Développement et test d'une application Android
    • Déploiement d'application
  • L'outil adb (Android Debug Bridge)
    • Utilisation courante
    • Communication avec un système Android (réel ou émulé)
Exercise :  Compilation et déploiement d'un HelloWorld Android
Finalisation de la plateforme Android
  • Test du noyau et du système :
    • Montagne du système de fichier en NFS
    • Modification du script init pour NFS
  • Support de la mémoire flash par Linux
  • Partitionnement de la mémoire flash
  • Flashage du système
    • A partir d'U-Boot
    • A partir de Linux
  • Modification du script init pour la mémoire flash utilisée
  • Démarrage et fonctionnement de la cible en mode autonome
Exercise :  Mise en place finale et déploiement du système Android