Android - Guide et tutoriel
par Alan AHRES, étudiant 2ème année DUT R&T - 2011
1er prix du concours wikiRT 2011
Introduction
Android est un système d'exploitation (OS) Open Source crée par la société android, ensuite racheté par Google. Android est proposé gratuitement aux constructeurs, c'est de cette manière que google a pu federer de nombreux partenaires au sein de l'Open Hanset Alliance. Ce dernier est basé sur le noyau linux et est principalement destiné aux Smartphone. Cependant avec l'arrivé récente des tablettes tactiles, les futurs version de l'OS devrait être adapté à ce type d'equipement. Nous noterons aussi que google souhaite adapté sont système d'exploitation au netbook dans un futur proche (dans une approche de cloud computing).
On peut dire d'android qu'il s'agit d'un OS orienté application c'est à dire que l'on trouve des applications spécifiques à une utilisation particulières. Par exemple, pour voir ses mails, nous utiliserons l'applications email, pour rechercher un numéro de téléphone nous utiliserons l'applications page jaune. Son mode de fonctionnement est donc très ressemblant à celui de l'iPhone (une application par besoin), et diamétralement opposé à celui de l'OS Windows phone (tous est centralisé)
Informations Techniques
Android possède une interface graphique simple, mais permet aussi d'être utilisé en CLI (peu répandu). Son noyau est multitâche, c'est à dire qu'il peut exécuté plusieurs programme simultanément (à la différence des versions antérieur à l'iphone OS 4.0, qu'il surnomme eux-même iOS, [plagiat de l'IOS de cisco pour Internetwork Operating System] qui ne peut exécuter aucune tâche de fond). Initialement conçu pour des architectures de type ARM, il faut noté toutefois que le noyau linux embarqué supporte les architectures x86 d'Intel, laissant ainsi la possibilité à l'OS d'être adapté pour d'autre plateforme (nous avons précédemment annoncé la possibilité de voir Android sur des Netbooks).
Versions
Plusieurs versions d'Android ont vu le jour depuis sa sortie publique. Certaine mise à jour n'apporte que des améliorations mineurs tandis que d'autres sont une refonte majeur du système (marqués en gras)
- Android 1.5 Cupcake
- Android 1.6 Donut
- Android 2.1 Eclair
- Android 2.2 FroYo
- Android 2.3 GingerBread
- Android 3.0 Honeycomb
Vous trouverez ici la répartition des différentes versions d'android sur les terminaux vendus jusqu'à ce jour (en date du 16/03/2011).
Les Constructeurs
A ce jour, de nombreux constructeurs ont décider d'utiliser Android comme système d'exploitation pour leurs terminaux (Mobile ou Tablet). Vous trouverez ci-dessous une liste des principaux constructeurs ainsi que leur modèle phare (en italique uniquement des tablettes tactiles) :
- ACER : Acer Liquid
- Alcatel : Alcatel OT980
- Archos : Archos 5 Internet Tablet, Archos 8 Home Tablet
- Cisco : Cisco Cius
- Dell : Dell Streak , Dell Thunder
- Google : Nexus One, Nexus S
- HTC : G1 Dream, G2 Magic, Desire
- LG : LG Optimus
- Motorola : Droid , Milestone , Xoom
- Samsung : Samsung Galaxy, Samsung Galaxy Tab
- Sony : Xperia
Développer sur Android
Le succès d'une plateforme dépend avant tout des applications que l'ont peut y trouver. Conscient de cette situation, Google à proposé un SDK (Kit de développement) afin que n'importe qui puisse développer dessus.
Ce tutoriel traitera uniquement de l'installation du SDK sur une plateforme Windows (la plus répandue).
Ce que vous devez avoir :
La version d'Eclipse qui nous intéresse est la “Eclipse for RCP” ou la “Eclipse IDE for Java Developers”
L'installation :
- Installation de l'environnement de développement Eclipse.
Il vous suffit d'installer Eclipse de manière classique en vous laissant guider par le programme - Installation du SDK Android
Décompresser le zip précédemment télécharger. La seconde manipulation consiste à ajouter le chemin du SDK à la variable PATH (Il s'agit du chemin de recherche pour les programmes exécutables). Il faut faire un clic droit sur le poste de travail et se rendre dans l'onglet “Paramètres avancés”. Cliquer ensuite sur variable d'environnement” et modifier la variable système PATH. Pour cela cliquer sur edit, puis ajouter le chemin complet du répertoire tools du SDK à la fin de la variable. N'oubliez pas de précédé le chemin du répertoire d'un ”;”(ex : ”;C:\Users\SkyNet\Desktop\android-sdk-windows\tools”). - Configuration de l'environnement de développement Eclipse (3.4)
- Executer le logiciel Eclipse
- Aller dans le menu Help > Software Updates
- Une boite de dialogue s'affichera. Cliquer sur l'onglet Available Software
- Puis sur Add Site…
- Entrer l'adresse : https://dl-ssl.google.com/android/eclipse/ ou http://dl-ssl.google.com/android/eclipse/ puis valider
- Revenir dans l'onglet Available Software
- Cliquer sur la case à gauche de Android Developer Tools et sur la case Android Editors puis cliquer sur Install
- Dans la nouvelle fenêtre, cliquer sur Next
- Accepter le “license agreement” puis cliquer sur Finish
- Redémarrer Eclipse
C'est terminé, vous pouvez commencer à développer des applications Android
Le Root sous Android
Avoir l'accès Root sous android signifie avoir l'accès au compte root soit aux droits super-utilisateurs (au même titre que linux). De base, les Roms (Firmware) distribué par les opérateurs bloque l'accès au compte Root, ceci pour des raisons de sécurités. En effet, avoir l'accès root signifie pouvoir modifier complètement le système, et même supprimer des fichiers dit “vitaux”. De plus, étant donné que les opérateurs bloquent l'accès au root, la manipulation permettant d'avoir cet accès consiste à soit modifier des fichiers vitaux, soit de flasher complètement son téléphone (changer de Rom). Ces manipulations peuvent être dangereuse pour l'appareil, et l’utilisateur peut briquer sont téléphone s'il ne sait pas ce qu'il fait. Dans la console de votre téléphone (que vous pouvez joindre via l'outil ADB), un utilisateurs à l'accès root lorsque le caractère ”#” est inscrit en début de prompt, sinon c'est le symbole “$” (cela ne choquera aucun utilisateur linux).
Les commandes ADB
ADB signifie Android Debug Bridge. Cet outil permet l'accès à la console de l'appareil. Il est fourni dans le sdk (dans le dossier tools). Vous trouverez ci-dessous les commandes les plus répandu :
- adb devices : Vous donne la liste des appareils android connectés a votre pc, permet de voir si votre téléphone est bien reconnu avant de faire quoi que ce soit
- adb reboot : Redémarre votre téléphone normalement
- adb reboot recovery : Redémarre votre téléphone en mode recovery
- adb reboot bootloader : Redémarre votre téléphone en mode bootloader (fastboot)
- adb shell : Permet d'explorer le téléphone, sachant qu'android est basé sur linux vous devez connaitre les commandes linux
- adb remount : Remonte la partition système du téléphone, vous pouvez ensuite y lire et écrire
- adb push xxx yyy : Copie le fichier xxx de l'ordinateur vers le fichier/dossier yyy sur le téléphone (droits root requis)
- adb pull xxx yyy : Copie le fichier xxx du téléphone vers le fichier/dossier yyy sur l'ordinateur (droits root requis)
Les commandes Fastboot
Fastboot est un outil utilisé pour flasher des images système (généralement des fichiers ayant pour extension .img) vers un téléphone android depuis une ligne de commande PC. Les fichiers .img sont créés lorsque vous faites une sauvegarde (via l'outil Nandroid*), ou lorsque vous téléchargez des nouvelles ROM (officielles ou non). Pour accéder au mode fastboot sur votre téléphone, maintenez enfoncé la touche Retour au démarrage de celui-ci. Pour démarrer sur un fichier image précis (nommé par exemple exemple.img), copiez le fichier .img dans le répertoire tools du SDK, et ouvrez une fenêtre de commandes MSDOS (sous windows) et positionnez vous dans ce répertoire tools, puis exécutez les commandes suivantes :
- adb shell reboot bootloader : permet de redémarrer le téléphone sur le bootloader
- fastboot boot exemple.img : permet de démarrer le téléphone sur l'image exemple.img. C'est ce qui est utilisé pour démarrer sur une image de recovery par exemple.
Autres commandes :
- fastboot devices : vous donne la liste des appareils android connectés a votre pc, permet de voir si votre téléphone est bien reconnu avant de faire quoi que ce soit
- fastboot reboot : redémarre votre téléphone normalement
- fastboot oem unlock : débloque le bootloader
- fastboot erase xxx : efface la partition xxx (userdata,cache,etc…)
- fastboot flash xxx yyy : flash la partition xxx avec l'image yyy
Glossaire
- SPL : Ou bootloader qui représente le Basic Input/Output Sytem (BIOS) qui est flashable comme sur un PC, mais dangereux à faire si vous ne savez pas ce que vous faites (risques de briquer).
- ROM : Aussi appelée firmware qui est le système d'exploitation du téléphone. Chaque éditeur de ROM (y compris les officielles) possède un nom associé à des build ou RC et qui elle mêmes sont basées sur des builds d'Android (Android 1.1, CupCake 1.5, Donut 1.6, Eclair 2.0)
- RADIO : La radio est l'interface logicielle qui permet à la ROM de s'adresser aux différents services de communications disponibles sur le téléphone (ex: téléphonie, GPS, 3G, Wifi…). Généralement chaque ROM à une version/numéro de RADIO dédiée (ex: ota-radio-2_22_19_26I.zip)
- RECOVERY : C’est un fichier de boot provisoire , monté sur le téléphone via le FASTBOOT et qui peut aussi être flashé sur le téléphone. C’est un peu l’équivalent du “Boot from CD” pour un PC ; il permet d’avoir accès au téléphone sans pour autant que l’OS principal soit lancé ; donc de pouvoir remplacer à sa guise cet OS.
- FLASH : Il s’agit de rentrer dans le mode RECOVERY (ou par fastboot) décrit ci-dessus et de faire une mise à jour, ou une installation d’un firmware ou rom, d’une radio, d’un spl, d’un recovery etc…
- Faire un WIPE : Opération qui consiste à pratiquer un effacement complet de toutes les données utilisateur, des caches, des programmes qui sont installés dans la mémoire du téléphone, bref c'est une RAZ de votre téléphone (mais pas de la carte µSD qui n'est absolument pas concernée).C'est une opération qui est généralement recommandée lorsque vous changez de version de ROM (ou de build).
- Brique (ou briquer) C'est une expression qui signifie que l'on a complètement bloqué son téléphone, et qu'il peut désormais s'apparenté à une brique inerte en argile (en général dut à une mauvaise manipulation lors d'un flashage)


Intranet