Android sous VirtualBox

Facebooktwitterredditpinterestlinkedinmail

Android est un système d’exploitation pour terminaux mobiles (smartphone, tablettes), et lecteurs multimédia. Toutes les agences qui développent des sites ou des applications devant fonctionner sur mobile doivent se constituer un parc conséquent de terminaux Android, iOS, BlackBerry (Si, si, même Blague Berry). Nous allons voir ici comment virtualiser un environnement Android sous Virtualbox, et ainsi le découvrir, ou tester des sites web à moindre frais. A noter pour les développeurs que les actions menées à la souris sur la VM seront bien identifiées comme des touch events.

Il existe depuis longtemps des émulateurs Android basés sur Qemu, que l’on trouve dans le SDK de Google. Mais la différence entre émuler un processeur ARM et virtualiser un x86 est juste énorme. Les instructions qui suivent s’appliquent à Virtualbox 4.2.6 et aux images Android-x86 2.2.2, 2.3, 4.0 pour eeepc. À ce jour, la version 3.2 ne semble pas très exploitable, et la 4.2 ne semble pas fonctionner du tout sous VirtualBox.

Créer une VM de type Linux 2.6. Affectez-lui 256 à 512 Mo de RAM. 512 Mo de disque suffisent. Carte son SoundBlaster 16. Carte réseau PCNet-Fast III, NATée ou Bridgée. Dans les options Système de la VM, désactivez le périphérique de pointage absolu. Démarrer la VM avec l’image ISO Android.

Installation

Nous allons choisir d’installer le système, on prend donc le dernier menu. Pour faire simple, nous allons créer (New) une seule partition primaire, valider la taille maximum, et la déclarer bootable. Ensuite on inscrit la table de partition (Write) et on quitte.

On sélectionne cette nouvelle partition qui est reconnue comme une carte SD (SDA1). On la formate, par exemple, en EXT3. Sachez qu’Android supporte aussi l’installation sur une partition FAT, mais dans ce cas en lecture seule, ce que je ne trouve pas super pratique. On confirme, on installe Grub. On doit décider si le système sera installé en lecture écriture. Je préfère, c’est un avis personnel. L’installation se termine on peut soit lancer immédiatement Android, soit redémarrer la machine virtuelle.

Sous Android 4.0 il y a un assistant de premier lancement. Sous les versions précédentes, vous devrez configurer manuellement la langue et le clavier. La configuration de l’heure se fera par défaut à travers le réseau, ce qui est pertinent. Notez que peu importe le clavier que vous aurez configuré sous Android, la console texte restera en qwerty.

Si votre Android n’a pas accès à Internet (Android > 3.2). Il va falloir activer l’interface eth0, puis indiquer un serveur DNS car il n’est relié à aucun opérateur. Pour se faire, accédez à la console texte (ALT+F1), puis tapez :

Si vous avez installé Android, vous pouvez rendre ceci permanent en l’ajoutant à la fin du fichier /etc/init.sh, par exemple à l’aide de vi. Si vous avez lancé Android en Live, vous devrez répéter l’opération à chaque fois.

Note: La gestion du réseau ne semble pas fonctionner sous Android 3.2.

Utilisation

Mapping des Boutons Android sur clavier PC :

  • Back: Touche ESC
  • Menu: Touche Menu contextuel ou Ctrl+ESC
  • Orientation (Android 4.0 uniquement):
    • Portrait 1: Ctrl+F9 (par défaut)
    • Portrait 2: Ctrl+F10
    • Paysage 1: Ctrl+F11
    • Paysage 2: Ctrl+F12
  • Consoles:
    • Alt+F1: Texte
    • Alt+F7: Graphique

Si Android passe en veille et se verrouille, il faut utiliser le bouton Menu (Ctrl+ESC ne fonctionne pas dans ce cas) pour réactiver la saisie au clavier, avant de pouvoir utiliser le déverrouillage.

Pour éteindre la machine virtuelle, la seule procédure trouvée jusqu’à maintenant consiste à basculer sur la console texte (ALT+F1) et à taper la commande halt ou halt -f selon les versions. Android passe en hibernation, il ne s’éteint pas.

Je n’ai pas trouvé le mapping des touches Home ni Power. Si quelqu’un les connaît …

Avancé

Android sous VirtualBoxPour en faire un outil de test complet, je vais intégrer trois configurations à cette VM :

  • Une configuration mobile, en 320×480
  • Une configuration tablette, en 1280×800
  • Une configuration fixe pour le fun, en 1920×1080

Note: Cette méthode présente l’inconvénient d’empêcher le lancement en parallèle des différentes résolutions d’une même version d’Android. Si c’est un problème pour vous, je conseille d’utiliser une VM par version et par résolution. Dans ce cas cette procédure servira à les personnaliser.

Pour commencer, on crée ces trois résolutions personnalisées du côté VirtualBox (Indispensable sous Android 2.2) en ligne de commande :

Note: Dans cet exemple ma VM se nomme Android 4.0. Remplacez avec le nom que vous lui aurez donné.

Démarrez la VM. Dès que vous arrivez sur le menu de Grub (attention au clavier qwerty), pressez [a], puis ajoutez en fin de ligne vga=ask et pressez [entrée], puis encore [entrée]. Vous devriez voir apparaître la liste des résolutions connue, dont les trois que nous venons d’ajouter à la fin. Repérez le numéro en héxadécimal qui apparaît devant chacune de ces résolutions pour le convertir en décimal. Voici ce que vous aurez probablement :

Résolution Valeur héxadécimale Valeur décimale
320x480x16 360 864
1280x800x16 361 865
1920x1080x16 362 866

Pour convertir une valeur héxadécimale en décimale, vous pouvez utiliser une calculatrice scientifique.

Démarrez la VM en mode Debug, puis éditer le fichier menu.lst de Grub. Si vous avez installé android en read-write, vous pouvez sauter la première ligne :

Le but étant d’ajouter au menu de Grub 3 résolutions différentes du même système.

Note: Il existe une option DPI= qui vaut soit 160 (MDPI), soit 240 (HDPI). La version par défaut, 160, correspond aux terminaux les plus courants.

Si vous avez installé Android en read-write, redémarrez. Sinon démontez avant :

Facebooktwitterredditpinterestlinkedinmail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *