Un début de présentation d’Android

 

Nombreux sont les blogs qui ont parlé de la sortie d’Android, mais peu de blogs francophones ont réellement décrit en détail ce système.

Commençons par les généralités.

Android est un système d’exploitation édité par Google. Il s’agit en fait d’une distribution GNU/Linux spécialisée dans la téléphonie mobile. Ce produit répond à un profond manque dans le domaine des systèmes d’exploitations pour téléphones. En effet, aujourd’hui, le secteur compte 4 acteurs :

  • Windows CE, dont l’ergonomie est particulièrement désagréable (menu « démarrer » qui n’a pas sa place sur un téléphone)
  • Symbian, qui rame pour afficher un SMS …
  • Mac OS, réservé à l’iPhone
  • GNU/Linux, dont l’usage est anecdotique, plutôt brouillon et surtout dont il n’existe pas de distribution faisant l’unanimité

Google répond donc aux attentes du marché en proposant un système GNU/Linux fiable, rapide et ergonomique, tout en lui donnant dès le départ une image de marque qui va permettre à ce système de ne pas rentrer dans la catégorie « anecdotique ».

Ce système d’exploitation est livré avec un kit de développement et un framework qui permettent à n’importe quel développeur de créer facilement sa propre application (en Java) avec l’assurance de la voir fonctionner sur n’importe quel téléphone équipé d’Android.

Beaucoup de gens estiment que Google se repose du coup sur la communauté pour finir le travail. Ce n’est pas complètement faux, mais il ne faut pas oublier que Google donne aussi énormément à la communauté. En effet, l’intégralité d’Android est libre et peut donc être utilisé, modifié et redistribué librement.

L’ergonomie d’Android n’atteint pas le niveau de Mac Os sur l’iPhone, mais nous n’en sommes qu’à une version destinée aux développeurs. Il est donc fort possible que les premiers téléphones équipés d’Android ne ressemblent pas à l’interface actuelle que voici :

android gphone interface home

Et au téléphone :

android gphone interface téléphone

Passons maintenant aux caractéristiques techniques d’Android et de son kit de développement que je vais donner plus ou moins en vrac.

L’architecture du système :

android gphone architecture

La version du noyau est 2.5.23. L’émulateur proposé est un ARM9 (du grand classique …) de chez ARM.

Pour accéder à la console d’Android, il faut ouvrir un terminal, aller dans le répertoire du kit de développement, puis aller dans le dossier tools. Ensuite, lancer l’émulateur :

emulator -console

Puis dans un autre terminal :

adb shell

Si vous voulez télécharger des fichiers du ou vers le téléphone :

adb push  

et

adb pull  

Le système de fichier utilisé semble être yaffs et il y a apparamment de quoi faire un serveur NFS car Android embarque knfsd.

Liste des applications installées par défaut :

-rw-rr root root 418687 2007-11-11 20:59 Browser.apk
-rw-rr root root 68076 2007-11-11 20:59 Contacts.apk
-rw-rr root root 25518 2007-11-11 20:59 ContactsProvider.apk
-rw-rr root root 96286 2007-11-11 20:59 Development.apk
-rw-rr root root 8636 2007-11-11 20:59 Fallback.apk
-rw-rr root root 44789 2007-11-11 20:59 GoogleApps.apk
-rw-rr root root 7543 2007-11-11 20:59 GoogleAppsProvider.apk
-rw-rr root root 99430 2007-11-11 20:59 Home.apk
-rw-rr root root 16197 2007-11-11 20:59 ImProvider.apk
-rw-rr root root 171613 2007-11-11 20:59 Maps.apk
-rw-rr root root 20307 2007-11-11 20:59 MediaProvider.apk
-rw-rr root root 424600 2007-11-11 20:59 Phone.apk
-rw-rr root root 11808 2007-11-11 20:59 SettingsProvider.apk
-rw-rr root root 21271 2007-11-11 20:59 TelephonyProvider.apk
-rw-rr root root 192118 2007-11-11 20:59 XmppService.apk
-rw-rr root root 6613 2007-11-11 20:59 XmppSettings.apk

Liste des commandes (/system/bin) :

-rwxr-xr-x root root 4280 2007-11-11 20:57 AudioHardwareRecord
-rwxr-xr-x root root 4152 2007-11-11 20:57 AudioInRecord
-rwxr-xr-x root root 4672 2007-11-11 20:57 RecursiveMutexTest
-rwxr-xr-x root root 20932 2007-11-11 20:57 SRecTest
-rwxr-xr-x root root 20408 2007-11-11 20:57 SRecTestAudio
-rwxr-xr-x root root 4860 2007-11-11 20:57 UAPI_PortabilityTest
-rwxr-xr-x root root 12420 2007-11-11 20:57 UAPI_SrecTest
-rwxr-xr-x root root 29560 2007-11-11 20:57 UAPI_test
-rwxr-xr-x root root 196 2007-11-11 20:46 am
-rwxr-xr-x root root 5124 2007-11-11 20:57 app_process
lrwxr-xr-x root root 2007-11-11 20:57 cat -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 chmod -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 cmp -> toolbox
-rwxr-xr-x root root 3912 2007-11-11 20:57 crasher
-rwxr-xr-x root root 4892 2007-11-11 20:57 dalvikvm
lrwxr-xr-x root root 2007-11-11 20:57 date -> toolbox
-rwxr-xr-x root root 118096 2007-11-11 20:57 dbus-daemon
lrwxr-xr-x root root 2007-11-11 20:57 dd -> toolbox
-rwxr-xr-x root root 9264 2007-11-11 20:57 debuggerd
-rwxr-xr-x root root 17416 2007-11-11 20:57 dexdump
-rwxr-xr-x root root 3944 2007-11-11 20:57 dexopt
lrwxr-xr-x root root 2007-11-11 20:57 df -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 dmesg -> toolbox
-rwxr-xr-x root root 73748 2007-11-11 20:57 drm1_unit_test
-rwxr-xr-x root root 85608 2007-11-11 20:57 drm2_unit_test
-rwxr-xr-x root root 1240 2007-11-11 20:46 dumpstate
-rwxr-xr-x root root 6808 2007-11-11 20:57 dumpsys
lrwxr-xr-x root root 2007-11-11 20:57 exists -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 getevent -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 getprop -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 hd -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 ifconfig -> toolbox
-rwxr-xr-x root root 208 2007-11-11 20:46 input
lrwxr-xr-x root root 2007-11-11 20:57 insmod -> toolbox
-rwxr-xr-x root root 6696 2007-11-11 20:57 install_boot_image
lrwxr-xr-x root root 2007-11-11 20:57 ioctl -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 kill -> toolbox
-rwxr-xr-x root root 81236 2007-11-11 20:57 linker
lrwxr-xr-x root root 2007-11-11 20:57 ln -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 log -> toolbox
-rwxr-xr-x root root 8772 2007-11-11 20:57 logcat
lrwxr-xr-x root root 2007-11-11 20:57 ls -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 lsmod -> toolbox
-rwxr-xr-x root root 7596 2007-11-11 20:57 mem_profiler
lrwxr-xr-x root root 2007-11-11 20:57 mkdir -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 mkdosfs -> toolbox
-rwxr-xr-x root root 212 2007-11-11 20:46 monkey
lrwxr-xr-x root root 2007-11-11 20:57 mount -> toolbox
-rwxr-xr-x root root 2888 2007-11-11 20:57 mtptest
-rwxr-xr-x root root 8640 2007-11-11 20:57 netcfg
lrwxr-xr-x root root 2007-11-11 20:57 netstat -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 notify -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 ping -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 powerd -> toolbox
-rwxr-xr-x root root 144356 2007-11-11 20:57 pppd
lrwxr-xr-x root root 2007-11-11 20:57 printenv -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 ps -> toolbox
-rwxr-xr-x root root 8724 2007-11-11 20:58 pv
lrwxr-xr-x root root 2007-11-11 20:57 r -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 readtty -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 reboot -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 renice -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 resetradio -> toolbox
-rwxr-xr-x root root 4116 2007-11-11 20:57 rild
lrwxr-xr-x root root 2007-11-11 20:57 rm -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 rmdir -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 rmmod -> toolbox
-rwxr-xr-x root root 1027 2007-11-11 20:47 ro.xml
-rwxr-xr-x root root 1782 2007-11-11 20:47 ro2.xml
-rwxr-xr-x root root 98 2007-11-11 20:47 roerror.xml
lrwxr-xr-x root root 2007-11-11 20:57 rotatefb -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 route -> toolbox
-rwxr-xr-x root root 45484 2007-11-11 20:57 runtime
-rwxr-xr-x root root 4572 2007-11-11 20:57 sdutil
lrwxr-xr-x root root 2007-11-11 20:57 sendevent -> toolbox
-rwxr-xr-x root root 6148 2007-11-11 20:57 service
lrwxr-xr-x root root 2007-11-11 20:57 setconsole -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 setkey -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 setprop -> toolbox
-rwxr-xr-x root root 90344 2007-11-11 20:57 sh
-rwxr-xr-x root root 5116 2007-11-11 20:57 showmap
-rwxr-xr-x root root 7524 2007-11-11 20:57 showslab
lrwxr-xr-x root root 2007-11-11 20:57 sleep -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 smd -> toolbox
-rwxr-xr-x root root 25944 2007-11-11 20:57 sqlite3
-rwxr-xr-x root root 411 2007-11-11 20:47 ssltest
lrwxr-xr-x root root 2007-11-11 20:57 start -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 stop -> toolbox
-rwsr-sr-x root root 72436 2007-11-11 20:57 su
lrwxr-xr-x root root 2007-11-11 20:57 sync -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 syren -> toolbox
-rwxr-xr-x root root 2772 2007-11-11 20:57 system_server
-rwxr-xr-x root root 88052 2007-11-11 20:57 toolbox
lrwxr-xr-x root root 2007-11-11 20:57 umount -> toolbox
-rwxr-xr-x root root 16612 2007-11-11 20:57 usbd
lrwxr-xr-x root root 2007-11-11 20:57 watchprops -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 webgrab -> toolbox
lrwxr-xr-x root root 2007-11-11 20:57 wipe -> toolbox

Notre émission Twitch SURVOLTÉS, c’est un mercredi sur deux de 17h à 19h : retrouvez-vous nous pour parler voiture électrique ou vélo électrique, autour de débats, d’interviews, d’analyses et de jeux !