I. Introduction▲
Le Gestionnaire d'exécution avec accélération matérielle d'Intel (Intel® HAXM) est un moteur d'assistance matérielle à la virtualisation (hyperviseur) qui utilise la technologie de virtualisation d'Intel (VT-X) pour accélérer l'émulation d'applications Android sur un ordinateur hôte. En combinaison avec les images d'émulateur Android x86 fournies par Intel et le gestionnaire officiel du SDK Android, Intel HAXM permet une émulation Android plus rapide sur les systèmes activés Intel VT-X. HAXM est disponible pour Windows et Mac OS X.
Puisque Google supporte en grande partie la compilation Android sur la plateforme Linux (avec l'OS Ubuntu 64 bits comme première plateforme et Mac OS X comme seconde) et que beaucoup de développeurs utilisent les appareils virtuels Android (AVD) sur Eclipse installé sur un système Linux, il est très important que les développeurs Android profitent de la virtualisation KVM assistée par matériel d'Intel pour Linux tout comme HAXM pour Windows et OS X.
Retrouvez ci-dessous les étapes pour installer et activer KVM sur une plateforme hôte Ubuntu et comment démarrer l'émulateur d'Intel Android Gingerbread x86 avec la virtualisation Intel assistée par matériel (hyperviseur). Le résultat est très esthétique et l'appareil virtuel Android (AVD) fonctionne de manière plus rapide et plus fluide que sans hyperviseur.
II. Installation de KVM▲
Je me suis référé à la page de documentation de la communauté Ubuntu pour installer KVM. Pour voir si votre processeur supporte le matériel de virtualisation, vous pouvez examiner la sortie à partir de la commande :
$
egrep -c '(vmx|svm)'
/proc/cpuinfo
vous obtenez 64. Si vous obtenez 0, cela signifie que votre processeur ne supporte pas la virtualisation matérielle.
La prochaine étape consiste à installer cpu-checker.
$
sudo apt-get install cpu-checker
Vous pouvez maintenant vérifier si votre processeur supporte KVM :
$kvm
-ok
Si vous obtenez :
INFO: Your CPU supports KVM extensions
INFO: /dev/kvm exists
KVM acceleration can be used
cela signifie que vous pouvez exécuter une machine virtuelle plus rapidement avec les extensions KVM.
Si vous obtenez :
INFO: KVM is disabled by your BIOS
HINT: Enter your BIOS setup and enable Virtualization Technology (
VT),
and then
hard poweroff/poweron your system
KVM acceleration can NOT be used
vous avez besoin d'aller dans le setup du BIOS pour activer le VT.
III. Utilisez un noyau 64 bits▲
L'exécution d'un noyau 64 bits sur un système d'exploitation hôte est recommandée, mais pas obligatoire. Pour attribuer plus de 2 Go de RAM à vos machines virtuelles, vous devez utiliser un noyau 64 bits (voir 32 bits et 64 bits). Sur un noyau 32 bits installé, vous ne pourrez donner qu'au maximum 2 Go de RAM à vos machines virtuelles.
Par contre, un noyau 64 bits peut accueillir des hôtes 32 bits et 64 bits. Un noyau 32 bits ne peut accueillir qu'un invité 32 bits.
Pour voir si votre processeur est 64 bits, vous pouvez exécuter la commande suivante :
$
egrep -c ' lm '
/proc/cpuinfo
Si 0 s'affiche à l'écran, alors votre processeur n'est pas 64 bits.
Si vous obtenez 1 ou un nombre supérieur, alors c'en est un.
Je suis en « Long Mode », ce qui équivaut à un processeur 64 bits.
Maintenant, vérifiez si votre noyau en cours d'exécution est 64 bits en exécutant la commande suivante :
$
uname -m
x86_64 indique que vous utilisez un noyau 64 bits. Si vous obtenez i386, i486, i586 ou i686 alors vous utilisez un noyau 32 bits.
IV. Installez KVM▲
Pour Ubuntu Lucid (10.04) et version supérieure :
$
sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
vous pouvez ignorer la configuration de Postfix ci-dessous en choisissant l'option « No Configuration ».
Ce qui suit permet d'ajouter votre compte utilisateur <username> aux groupes KVM et libvirtd :
$
sudo adduser your_user_name kvm
$
sudo adduser your_user_name libvirtd
Après l'installation, vous avez besoin de vous relogger afin que votre compte devienne un membre effectif des groupes d'utilisateurs KVM et libvirtd. Les membres de ces groupes peuvent exécuter des machines virtuelles.
V. Vérifiez l'installation▲
Vous pouvez tester si votre installation a été faite correctement avec la commande suivante :
$
sudo virsh -c qemu:///system list
Votre écran devra afficher ce qui suit :
Id Name State
----------------------------------
VI. Démarrez l'appareil virtuel Android (AVD) depuis le SDK Android directement à partir du terminal▲
Maintenant, démarrez Android pour l'émulateur x86 d'Intel en utilisant la commande qui suit :
$
<
SDK directory>
/tools/emulator-x86 -avd Your_AVD_Name -qemu -m 2047
-enable-kvm
Seul un système Ubuntu 64 bits vous permet d'utiliser une mémoire allouée de 2 Go ou plus. Mon Ubuntu 64 bits a 6 Go de mémoire RAM, j'ai utilisé le tiers pour mon appareil virtuel Android. Le nom de ce dernier est Intel_Atom_x86_64. qemu offre des options pour QEMU et -m spécifie l'espace mémoire attribué à l'Android émulé (ex. : invité). Si vous attribuez un espace mémoire trop petit, il est possible que les performances soient mauvaises à cause des activités de swap fréquentes. Ajoutez -show-kernel pour voir le message provenant du noyau.
VII. Démarrez l'appareil virtuel Android par le gestionnaire d'appareil virtuel Android dans Eclipse▲
Ci-dessous les procédures recommandées par Google. Si vous exécutez un émulateur à partir d'Eclipse, exécutez votre application Android avec un appareil virtuel basé x86 et incluez les options KVM.
Dans Eclipse, cliquez sur le dossier de votre projet Android et sélectionnez Run > Run Configurations.
- Dans le panneau à gauche de la boîte de dialogue « Run Configurations », sélectionnez la configuration d'exécution de votre projet Android ou créez une nouvelle configuration.
- Cliquez sur l'onglet « Target ».
- Sélectionnez l'appareil virtuel Android basé x86 que vous avez créé précédemment.
-
Dans le champ des options de commande de ligne de l'émulateur complémentaire, entrez :
Sélectionnez-qemu -m
2047
-enable-kvm - Exécutez votre projet Android en utilisant la configuration d'exécution.
Également disponible : l'image officielle Intel x86 de Ice Cream Sandwich.
VIII. Conclusion▲
Merci d'avoir suivi ce tutoriel.
Rendez-vous sur la zone des développeurs Intel Android pour découvrir l'ensemble des outils de développement.
Intel HAXM est également disponible depuis la suite de développement Intel INDE.
N'hésitez pas à donner vos avis par rapport à ce tutoriel. Commentez