picto Télécom - Mobile

Formation Android Embarqué

Référence

TAEM

Durée

4 JOURS

Tarif

2390 € HT

NIVEAU

Expert

Cours à distance

Non

Objectifs de la formation Android Embarqué

Cette formation Android embarqué vous permettra de :
- Faire comprendre l'architecture bas niveau d'Android
- Compiler et « booter » un système Android
- Savoir porter Android vers un nouveau matériel
- Savoir Développer un vrai système Android (accès au hardware spécifique via les applications Android, personnalisation du système de fichier, débogage)

Pré-Requis

Cette formation Android embarqué vous permettra de :
- Faire comprendre l'architecture bas niveau d'Android
- Compiler et « booter » un système Android
- Savoir porter Android vers un nouveau matériel
- Savoir Développer un vrai système Android (accès au hardware spécifique via les applications Android, personnalisation du système de fichier, débogage)

Public

Cette Formation Android Embarqué est destiné aux développeurs système et aux chefs de projet.

Contenu du cours Android Embarqué

Compilation et démarrage d'Android

Introduction à AndroidHistorique: les différentes versions Les différents acteurs et leur implicationDétails sur l'architecture d'AndroidMise en place de l’environnementInstallation des outils nécessaires à la compilation
Récupération du code source (si la bande passante est insuffisante, un répertoire .repo prêt à l'emploi sera fourni)
Prise en main des outils spécifiques d'Android
Première compilation – Code source et compilationCompilation du premier système de fichiers racine pour l'émulateur
L'utilisation des outils repo, git et gerrit pour accéder aux sources
Comment s'y retrouver dans le code de base
Comment compiler Android (outils, cible, etc …)Le noyau LinuxRôle et architecture générale du noyau LinuxPropriétés du noyau Linux avec focus sur les caractéristiques utiles aux systèmes embarquésL'interface utilisateur du noyau (Kernel user interface)Récupération des sourcesComprendre les différentes versions de noyaux de LinuxApplication de la commande patchCompilation et démarrage d'un noyau AndroidUtilisation de l'émulateur d'Android
Extraire les patches du noyau Android
Compilation et boot d'un noyau Android

Portage d'Android vers de nouvelle cartes

Modification du noyau Linux pour AndroidLes changements majeurs ajoutés par GoogleLes fonctionnalités qui ont été ajouté au noyauLes changements sur les drivers Le support d'une nouvelle carteLes étapes nécessaires pour porter Android sur une carte personnalisée
Démarrage d'Android sur une nouvelle carte
Résolution des différents problèmes courants lors de cette opération
Les différents ajustements nécessaires pour obtenir un système opérationnel (affichage correct, écran tactile, boutons, molettes, etc)Android Bootloaders (chargeur de démarrage)Définition d'un bootloaderExemples de bootloaderLes spécifications fastboot d'Android

Le développement de drivers pour  Android

Développement et débogage avec ADB (Android Debug Bridge) Utiliser ADB pour déboguerPrésentation et installationLes options les plus intéressantesUtilisation d’ADBLes commandes disponibles: transferts de fichiers, installation de paquetage, exécution de commandes distantes, accès aux logs ,  … Ajustements d'ADB pour une carte personnalisée
Apprendre à lire les journaux système
L'accès au Shell de la carte
Envoyer/recevoir des fichiersOrganisation du système de fichiers d'AndroidDéterminer où les différents composantes d'un logiciel sont installées et montées et pourquoi.La structure du fichier .initrcLa construction d'un système AndroidLes concepts introduits dans la construction d'un systèmeL'architecture des MakefilesVariables et fonctions disponiblesLes différentes  étapes de la compilationAjouter un nouveau périphérique à la construction du système Personnalisation du systèmeAjouter un nouveau device à la construction du système
Personnalisation de l'information "A Propos", Build ID, Les écrans d'accueil et de boot du système , …
Ajout d'une bibliothèque native au systèmeLes spécifiés du système de compilation et de la bibliothèque C (Bionic)
Création d’une bibliothèque externe pour contrôler un lanceur de missile USB
Ajout de cette bibliothèque au système par défaut d'AndroidLa couche native d'AndroidLes daemons de contrôle de la radio , le stockage externe, le lancement d'applicationsLes différents composants impliqués dans le runtime Android, de la machine virtuelle au framework des medias : StageFright, Flingers, Dalvik, …Comment l'abstraction matérielle est implémentée sous AndroidLes applications et le Framework AndroidPrésentation des services, fournisseurs de contenu et applications disponibles en standardStructure d'un service, d'un fournisseur de contenuComment accéder à une bibliothèque native à partir d'une application via l'API  JNI (Java Native Interface)Développement de l'interface Java d'une bibliothèque nativeImplémentation de l'interface Java pour utiliser la librairie intégrée précédemmentDéveloppement d'applications AndroidLe cycle de vie d'une applicationLes différents composants d'une applicationComment accéder aux servicesComment utiliser, accéder et administrer les ressourcesComment les paquetages apk sont construits et ce qu'ils contiennentEcriture d'une application avec le SDKApprendre à écrire et distribuer une application utilisant le SDK d'Android et son API
Ecriture d'une application Android contrôlant le lanceur de requêtes USB
Apprendre à accéder aux fournisseurs de contenus d'AndroidConseils et ressourcesL'accès à la communauté, les ressources de documentation utiles, les blogs utiles, etc