loader image

Gate Training

logo-png
Télécom - Mobile

Formation Android Embarqué

4 Jours

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)

À qui s’adresse cette formation ?

Public :

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

 

Prérequis :

Avoir une bonne connaissance des commandes Unix ou Linux.
Avoir une bonne connaissance du C et des bases en Java

 

Contenu du cours Android Embarqué

Compilation et démarrage d’Android

Introduction à Android Historique: les différentes versions Les différents acteurs et leur implication Détails sur l’architecture d’Android Mise en place de l’environnement BInstallation 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 compilation Compilation 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 Linux Rôle et architecture générale du noyau Linux Propriétés du noyau Linux avec focus sur les caractéristiques utiles aux systèmes embarqués L’interface utilisateur du noyau (Kernel user interface)Récupération des sources Comprendre les différentes versions de noyaux de Linux Application de la commande patch Compilation et démarrage d’un noyau Android Utilisation 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 Android Les changements majeurs ajoutés par Google Les fonctionnalités qui ont été ajouté au noyau Les changements sur les drivers Le support d’une nouvelle carte Les é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 bootloader Exemples de bootloader Les 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éboguer Présentation et installation Les options les plus intéressantes Utilisation 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 fichiers Organisation du système de fichiers d’Android Dé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 Android Les concepts introduits dans la construction d’un système L’architecture des Makefiles Variables et fonctions disponibles Les différentes  étapes de la compilation Ajouter un nouveau périphérique à la construction du système Personnalisation du système Ajouter 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ème Les 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’Android La couche native d’Android Les daemons de contrôle de la radio , le stockage externe, le lancement d’applications Les 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 Android Les applications et le Framework Android Présentation des services, fournisseurs de contenu et applications disponibles en standard Structure d’un service, d’un fournisseur de contenu Comment 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 native Implémentation de l’interface Java pour utiliser la librairie intégrée précédemment Développement d’applications Android Le cycle de vie d’une application Les différents composants d’une application Comment accéder aux services Comment utiliser, accéder et administrer les ressources Comment les paquetages apk sont construits et ce qu’ils contiennent Ecriture d’une application avec le SDK Apprendre à é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’Android Conseils et ressources L’accès à la communauté, les ressources de documentation utiles, les blogs utiles, etc

Travaux Pratiques

Les travaux pratiques occupent une place prépondérante lors de cette formation. Ils sont savamment imbriqués avec les parties théoriques et une partie importante de l’apprentissage est réalisée via les travaux pratiques.
Chaque participant pourra tester les travaux pratiques sur une carte ARM Cortex-A mise à disposition dans le cadre de la formation.

Réf:

0068

Tarif:

600 Dt

Niveau:

Avancé

Classe à distance:

Possible

Pas de sessions disponibles