Formation Android AOSP

Ref :

Formation destinée aux Ingénieurs et Développeurs

Embarqué & IOT Durée :
4 jours
Lieu :
Multi-sites

Tarif

Intra :
Inter :
2 600€ HT / pers
Inscrivez-vous

Demande d'informations

Les prochaines dates par ville

[+]Nantes

[+]Toulouse

[+]Asnières-sur-Seine

[+]Grenoble

[+]Lille

Du : 09 décembre 2019 Au : 12 décembre 2019

Pré-requis

Connaissances Linux/UNIX, Java/C/C++

Matériels :

PC Linux sous Ubuntu 16.04.3 (64 bits), 16 Go RAM, 500 Go d’espacé disque libre (SSD conseillé)

Public concerné

Ingénieurs développement et chefs de projets

Objectifs

Prise en main du système Android AOSP
Adaptation à une plate-forme matérielle, customisation, sécurité et certification

Programme détaillé

1. Introduction à Android (0,25 j)

  • Fonctionnalités

  • Historique

  • Part de marché

  • Principes d’une application Android

  • Systèmes concurrents (basés sur un noyau Linux)

  • Android pour l’industrie

2. AOSP – Android Open Source Project (0,25 j)

  • Licences (GPL, LGPL, Apache)

  • Mise en place de l’environnement de développement/compilation

  • Téléchargement des sources (utilisation de repo et Git)

  • Sélection de la cible (émulateur x86_64), compilation et test

  • Description des sources, principaux fichiers et répertoires

  • Utilisation d’une cible matérielle

  • Bootloader, description de l’outil/protocole « fastboot »

  • Adapter AOSP à une nouvelle cible

3. Architecture Android (1 j)

  • Architecture générale

  • Framework Android

  • JVM et « runtime »

  • Bibliothèques (spécifiques – Bionic, etc. ou externes)

  • HAL, HIDL et « Treble », description basée sur un exemple simple (Lights)

  • Binder (Android IPC)

  • Organisation du système de fichiers (/system, /data, etc.)

  • Les propriétés Android (properties)

  • Démarrage d’ Android (init, ueventd, Zygote, System server)

  • Configurer  Android avec init.rc et uevent.rc

  • Android managers (Activity, Power, Window, etc.)

  • Introduction au système graphique Android (SurfaceFlinger), GPU

  • Ajout du service « Lights » à l’émulateur Android Android

  • Ajout d’un nouveau service (HIDL)

4. Noyau Linux (0,25 j)

  • Introduction, espace utilisateur et espace noyau

  • Historique (projet  GNU)

  • Principaux concepts du noyau Linux

  • Spécificités Android  ou « Androidism » (binder, logger, ashmem, etc.)

  • Compilation du noyau Linux pour Android

5. Développement système pour Android (0,75 j)

  • Android Studio / SDK (Java)

  • Contenu d’une application  (fichier AndroidManifest.xml, configuration Gradle, fichier APK)

  • Android Debug Bridge (ADB)

  • Développer en C/C++ avec le NDK

  • Support POSIX, bugs et limitations du NDK (Bionic)

  • Introduction aux pilotes du noyau Linux

  • Utilisation de JNI – Java Native Interface (Java <> C/C++)

  • Mise en place d’un nouveau capteur, utilisation avec une application Java dédiée (Java, JNI, pilote Linux)

6. Customisation Android (0,5 j)

  • Ajout de BusyBox (vs Toybox)

  • Modification de l’animation de démarrage

  • Ajout d’une application à  AOSP (APK)

  • Modification du fichier initd.rc pour l’exemple du capteur (configuration au démarrage)

  • Ajout d’un nouveau service (Java / AIDL)

7. Sécurité sous  Android (0,5 j)

  • UID / GID / Capabilities

  • Permissions

  • Verity

  • Signer les paquets APK

  • Encryption (dm-crypt)

  • Introduction à SELinux

  • AVB, Android Verified Boot

  • OTA

8. Certification Android (0,25 j)

  • Pourquoi certifier un produit sous Android

  • Étapes de la certification

  • Qu’est-ce que le CDD (Compatibility Definition Document)

  • Suites de test (*TS = CTS, VTS, etc.)

9. Créer un nouveau device Android (0,25 j)

  • Qu-’est-ce qu’un « device » Android ?

  • Comment créer un nouveau device ?

  • Principaux fichiers (AndroidProducts.mk, <product-name>.mk, BoardConfig.mk, vendorsetup.sh)

  • Héritage

  • Overlays

02 AVRIL 2019

5 Questions posées à Pierre FICHEUX, Expert-Technique Embarqué et formateur chez OSS

Nous avons rencontré Pierre FICHEUX pour en savoir plus sur la formation Android 8 AOSP et son formateur smiley !

Quel type de formateur es-tu ?

Difficile de répondre à cette question wink
Je fais des formations depuis 1986 (lorsque j'étais au service national, j'enseignais le langage C aux sous-officiers...), donc je pense être expérimenté et pédagogue.

Le principal avantage de cette formation ?

Décrire le fonctionnement interne d'Android qui est très peu documenté par Google. Il y a peu de formations concurrentes en France (à part Genymobile).

Comment arrives-tu à faire participer activement tes stagiaires ?

Toutes mes formations OSS sont basées sur de nombreux travaux pratiques, ça tient éveillé.

Est-ce qu'un jour un élève à dépassé l'expert wink ?

Pas à ma connaissance smiley

Pour conclure, à quand le prochain livre ? smiley

Le dernier est sorti il y a moins d'un an donc ça n'est pas pour tout de suite. J'écris pas mal d'articles pour GLMF (GNU Linux Mag France) !

PS : Retrouvez le livre de Pierre FICHEUX "Linux Embarqué" aux éditions Eyrolles

Consulter cette actualité

Nos Actualités