Image de NordWood Themes

Android Embarqué

Objectifs

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)

A 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

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’environnement
Installation 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 LinuxRô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 installationLes options les plus intéressantes
Utilisation d’ADB
Les 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 MakefilesVariables 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 nativeImplé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

TechnoWide

3 rue du Golf

Parc Innolin

CS 60073

33701 MERIGNAC CEDEX

Bordeaux

  • LinkedIn Social Icon
© 2020 TechnoWide - tous droits réservés