2 votes

Configuration de l'émulation Android accélérée par le matériel (HAXM) sur Fedora ou d'autres distributions RPM ?

Je fais du développement Android, et l'émulation est (sans surprise) lente. Je vois qu'il existe de la documentation pour configurer l'accélération matérielle (Intel HAXM) à l'adresse suivante http://software.intel.com/en-us/articles/speeding-up-the-Android-emulator-on-intel-architecture

Cette documentation couvre l'installation pour Windows et Linux, mais pour Linux, c'est spécifique à Ubuntu - quelqu'un a-t-il réussi à le mettre en place sur Fedora, ou une autre distro récente basée sur RPM ?

7voto

vol7ron Points 455

Je l'ai fait fonctionner sur une installation Fedora 19, c'est simple et ça vaut le coup...

Installer la virtualisation

Ceci est documenté à https://fedoraproject.org/wiki/Getting_started_with_virtualization

Installer le groupe de paquets "virtualisation".

sudo yum install @virtualization

ceci installe les paquets virt-install, libvirt, libvirt-daemon-kvm, qemu-kvm, virt-manager, virt-viewer et deps


Démarrer KVM et tester

$ sudo systemctl start libvirtd

(si votre distribution utilise l'option service plutôt que la nouvelle commande systemctl vous voudrez l'utiliser pour démarrer libvirtd à la place)

Vérifiez que les modules du noyau kvm ont été correctement chargés :

$ lsmod | grep kvm
kvm_amd                55563  0 
kvm                   419458  1 kvm_amd

Vous pouvez également vérifier en utilisant l'outil de gestion virsh

$ sudo virsh list

cela donne une liste vide, par exemple

 Id    Name                           State
----------------------------------------------------

Vous devrez peut-être vous déconnecter et vous reconnecter.

Exécution du dispositif accéléré par le matériel

J'ai ensuite essayé de démarrer un périphérique virtuel (après avoir d'abord téléchargé une image système x86 à l'aide du gestionnaire SDK) et cela semblait rapide (démarrage en ~10 secondes, et l'interface utilisateur est rapide). Cependant, la boîte de dialogue de chargement n'a pas affiché le "HAX fonctionne et l'émulateur fonctionne en mode virtuel rapide" spécifié par la documentation d'Intel. Ne vous découragez pas ; c'est une chose agréable à voir, mais pas une fin en soi.

Finesse

L'exécution sur la ligne de commande a montré un message d'erreur. Vous pouvez exécuter l'émulateur en ligne de commande dans le répertoire SDK/tools, en spécifiant le nom de l'AVD (le même que celui que vous verrez dans le gestionnaire de périphériques virtuels) :

[path/to/SDK/tools]$ ./emulator64-x86 -avd <AVD name>Nexus_S_4.0.3_x86 -qemu -m 2047 -enable-kvm

par exemple

[path/to/SDK/tools]$ ./emulator64-x86 -avd Nexus_S_4.0.3_x86 -qemu -m 2047 -enable-kvm

cela a retourné l'erreur

emulator: ERROR: Could not load OpenGLES emulation library: lib64OpenglRender.so: cannot open shared object file: No such file or directory
emulator: WARNING: Could not initialize OpenglES emulation, using software renderer.

cela peut être corrigé en ajoutant le répertoire tools/lib à LD_LIBRARY_PATH par exemple, en exécutant le programme en tant que

[path/to/SDK/tools]$ LD_LIBRARY_PATH=path/to/sdk/tools/lib ./emulator64-x86 -avd Nexus_S_4.0.3_x86  -qemu -m 2047 -enable-kvm

Résumé

Je suis très Je suis satisfait de la rapidité de cette opération, qui en vaut bien la peine. L'émulateur démarre en 6 secondes sur mon bureau peu spectaculaire, et fonctionne aussi bien que le vrai matériel.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X