Paug aosp ice-creamsandwich_20120119

2,060 views
2,012 views

Published on

http://www.paug.fr

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,060
On SlideShare
0
From Embeds
0
Number of Embeds
549
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Paug aosp ice-creamsandwich_20120119

  1. 1. Android Open Source Project SEMINAIRE Ice Cream Sandwich Châteaux de la Volonière Présentation GENYMOBILE 19 Janvier 2012
  2. 2. FORMATION AgendaAOSP : HistoriqueArchitecture générale du code sourceProcessus de compilationOutils de tests et validation (CTS/CDD)Exemple : portage d’ICS pour VirtualBox
  3. 3. AOSP - Historique FORMATIONInitiative de l’Open Handset Alliance, dirigée par Google, pour créer uneplateforme ouverture à destination des opérateurs, OEMs et développeurs.Projet « Open Source » : majoritairement sous licence ASL 2.0 (GPL pour lenoyau Linux et quelques composants), mais forte dépendance vis-à-vis deGoogle (traumatisme Honeycomb…)Neuf versions ‘majeures’ (1.0, 1.1, CupCake, Donut, Eclair, Froyo,Gingerbread, Honeycomb, ICS) depuis Septembre 2008Qqs chiffres : plus de 200M de terminaux et >550k activations par jour
  4. 4. ICS – FORMATION natif de terminaux SupportJamais une release d’AOSP n’a intégré nativement le supportd’autant de terminaux : Nexus S (GSM, CDMA/WiMAX) Galaxy Nexus (GSM/HSDPA+, CDMA/LTE) Motorola Xoom (WiFi only, CDMA/LTE) PandaBoard (carte de développement) 11 cibles de compilation intégrées à ICS (8 terminaux issusde 4 familles, 3 systèmes virtuels/émulateurs) http://source.android.com/source/building-devices.html https://plus.google.com/112218872649456413744/posts/75aLL1dWY2u
  5. 5. Android - Architecture générale FORMATION
  6. 6. AOSP – Intérêt de disposer du code FORMATION « ROM Cooking » sur smartphones et tablettes (ex, projet CyanogenMod – plus de 1M de déploiement) Utilisation sur de nouvelles plateformes, au-delà des smartphones et tablettes Debugging et optimisation des applications Analyse de sécurité du code source
  7. 7. AOSP – Compilation FORMATIONUne source d’information : http://source.android.comPré-requis OS : http://source.android.com/source/initializing.htmlUn conseil : utiliser une plateforme Ubuntu 10.04 en 64-bit (plateforme deréférence)Code source : >6GBMachine de compilation : 8GB RAM mini (16GB conseillé), 25GB disque libre minipour compilationPréparation / Récupération outil repo :$ mkdir ~/bin$ PATH=~/bin:$PATH$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo$ chmod a+x ~/bin/repo http://source.android.com/source/initializing.html http://source.android.com/source/downloading.html
  8. 8. AOSP – Compilation FORMATIONTéléchargement code source :$ mkdir android-4.0.3_r1$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r3$ repo syncSélection de la cible et compilation :$ source build/envsetup.sh$ lunch (puis sélection cible)$ make –jX (où X est le nombre de tâches de compilation en parallèle) Une compilation complète prend entre 20 minutes et 8 heures selon laconfiguration de la machine de compilation…Puis installation de la ROM sur le terminal, ou exécution de l’émulateur ou de lamachine virtuelle. http://source.android.com/source/downloading.html http://source.android.com/source/building.html
  9. 9. AOSP – Code source FORMATIONbionic/ : Remplacement de la « libc »bootable/ : Bootloader de référencebuild/ : Scripts de compilation d’AOSPcts/ : « Compatibility Test Suite »dalvik/ : Machine virtuelle Dalvikdevelopment/ : Outils de développementdevice/ : Fichiers et composants spécifiquesexternal/ : Projets externes utilisés par AOSPframeworks/ : Services système, classes android.*, …hardware/ : Librairies de support hardwarelibcore/ : Projet « Apache Harmony »ndk/ : Native Development Kitpackages/ : Applications et services de baseprebuilt/ : Binaires précompiléssdk/ : Software Development Kitsystem/ : Composants système
  10. 10. AOSP – CTS/CDD FORMATIONCDD = Compatibility Definition DocumentDocument de spécifications des terminaux Android (un CDD par versionAndroid).Une condition nécessaire (mais pas suffisante…) pour accéder au GoogleMarket est que le terminal respecte le CDD de la version concernée.Les pré-requis peuvent changer drastiquement d’une version à l’autre. Parexemple, le CDD d’ICS demande 340MB de RAM disponible à Android (sanscompter la RAM utilisée par la radio, la vidéo, …) alors que le CDD deGingerbread ne demandait que 128MB de RAM disponible... http://source.android.com/compatibility/overview.html
  11. 11. AOSP – CTS/CDD FORMATIONCTS = Compatibility Test SuiteEnsemble d’outils de tests permettant devérifier (en partie) la conformité d’unterminal (et de sa ROM Android) au CDDconcerné. http://source.android.com/compatibility/cts-intro.html
  12. 12. Portage d’AOSP sur VirtualBox FORMATIONAvec ICS, AOSP intègre la génération d’image virtuelle pourVirtualBox Mais de nombreuses fonctions sont manquantes  : Pas de souris Pas de réseau Pas d’Audio Pas d’accélération matérielle OpenGL Pas de partage de fichier avec le système hôte Pas de support d’USBD’où l’idée de travailler à améliorer le support de VirtualBoxdans ICS http://www.buildroid.org/blog/?page_id=38
  13. 13. Portage d’AOSP sur VirtualBox FORMATIONTravaux menés : Support de la souris : recompilation noyau avec support souris PS/2 Support Ethernet : modification scripts de démarrage Support Audio :  Recompilation noyau avec support audio ALSA  Ecriture librairie module hardware audio Partage de fichier avec le système hôte :  Compilation modules noyau VirtualBox  Modification scripts de démarrage Support USB :  Recompilation noyau avec drivers USB hôte et USB mass-storage  Configuration composant vold pour montage automatique clé USB
  14. 14. Pour aller plus loin… FORMATIONInstructions compilation AOSP : http://source.android.comGroupes de discussion Google sur Android : http://groups.google.com/group/android-building http://groups.google.com/group/android-porting http://groups.google.com/group/android-platform http://groups.google.com/group/android-kernelForums xda-developers : http://forum.xda-developers.com/forumdisplay.php?f=564Projet android-x86 : http://www.android-x86.orgBlog buildroid (portage VirtualBox) : http://www.buildroid.org/blog/
  15. 15. SEMINAIREQuestions/RéponsesChâteaux de la Volonière Présentation GENYMOBILE
  16. 16. SEMINAIRE MERCI !Châteaux de la Volonière Présentation GENYMOBILE Daniel Fages dan@buildroid.org dfages@genymobile.com

×