ac6-training, un département d'Ac6 SAS
 
Site affiché en Français
Site affiché en FrançaisVoir le site en English (USA)Voir le site en English (GB)
+ +
- -
Cours en ligne
 
Calendrier  Détails
Systèmes d'Exploitation
 
Calendrier  Détails
Programmation
Calendrier  Détails
Processors
 
Calendrier  Détails
Communications
 
 
 
Calendrier  Détails
+ +
> >
- -

ac6 >> ac6-training >> Systèmes d'Exploitation >> Linux >> Installation d'Android Télécharger la page Ecrivez nous

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 processeurs NXP i.MX6 ou i.MX8
Nous utilisons la dernière version libre d'Android, telle que supportée par la carte.
Lors des formations sur site, en l'absence de stations de travail adaptées, nous fournissons des images de machine virtuelle VirtualBox préconfigurées; la seule contrainte est alors de disposer de PCs 64bit récents dotés d'un minimum de 8Gb de RAM et de 100Go d'espace disque.
  • Support de cours
  • Un PC par binôme
  • Une plateforme cible par binôme
  • Documentation et solution des exercices sur CDROM
  • Connaissances de l'installation de Linux embarqué et du noyau Linux.
  • Cours théorique
    • Support de cours imprimé et au format PDF (en anglais).
    • Le formateur répond aux questions des stagiaires en direct pendant la formation et fournit une assistance technique et pédagogique.
  • Activités pratiques
    • Les activités pratiques représentent de 40% à 50% de la durée du cours.
    • Elles permettent de valider ou compléter les connaissances acquises pendant le cours théorique.
    • Exemples de code, exercices et solutions
    • Un PC (Linux ou Windows) par binôme de stagiaires (si plus de 6 stagiaires) pour les activités pratiques avec, si approprié, une carte cible embarquée.
    • Le formateur accède aux PC des stagiaires pour l'assistance technique et pédagogique.
  • Une machine virtuelle préconfigurée téléchargeable pour refaire les activités pratiques après le cours
  • Au début de chaque demi-journée une période est réservée à une interaction avec les stagiaires pour s'assurer que le cours répond à leurs attentes et l'adapter si nécessaire
  • Tout ingénieur ou technicien en systèmes embarqués possédant les prérequis ci-dessus.
  • Les prérequis indiqués ci-dessus sont évalués avant la formation par l'encadrement technique du stagiaire dans son entreprise, ou par le stagiaire lui-même dans le cas exceptionnel d'un stagiaire individuel.
  • Les progrès des stagiaires sont évalués de deux façons différentes, suivant le cours:
    • Pour les cours se prêtant à des exercices pratiques, les résultats des exercices sont vérifiés par le formateur, qui aide si nécessaire les stagiaires à les réaliser en apportant des précisions supplémentaires.
    • Des quizz sont proposés en fin des sections ne comportant pas d'exercices pratiques pour vérifier que les stagiaires ont assimilé les points présentés
  • En fin de formation, chaque stagiaire reçoit une attestation et un certificat attestant qu'il a suivi le cours avec succès.
    • En cas de problème dû à un manque de prérequis de la part du stagiaire, constaté lors de la formation, une formation différente ou complémentaire lui est proposée, en général pour conforter ses prérequis, en accord avec son responsable en entreprise le cas échéant.

Plan du cours

  • 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.
  • 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é
  • 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
  • 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
  • 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 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
  • 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
  • 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