104 votes

Impossible de modifier les performances émulées de l'AVD dans Android Studio

Je ne peux pas changer les graphiques en logiciels car je suis sûr que c'est la solution pour mon AVD qui ne se lance pas. L'option est grisée (voir la capture d'écran). Quelqu'un a-t-il une expérience dans ce domaine ? Je n'ai trouvé personne qui ait eu le même problème.

J'exécute la dernière version d'Android Studio sur Ubuntu 17.04.

Screenshot of the configuration of the AVD

0 votes

Hmmm... Je suis sur Ubuntu 16.10, et ce menu déroulant est disponible pour moi, avec les options "matériel", "logiciel", et "automatique". Essayez de créer un émulateur de résolution inférieure (par rapport à la résolution 1080p que vous essayez actuellement).

4 votes

Hmm si j'installe un Nexus 4, je peux changer les paramètres graphiques. Bizarre...

0 votes

@MichelMichels avez-vous trouvé une solution ? Je dois utiliser des cartes et le Nexus 4 ne supporte pas cette fonctionnalité.

99voto

Vitor M. Barbosa Points 1156

En fait, ce problème semble être limité aux dispositifs avec Play Store disponibles, les images des Nexus 5X et Nexus 5 seront donc forcées d'utiliser les graphiques automatiques, mais tous les autres appareils vous permettent de choisir entre les graphiques automatiques, matériels ou logiciels.


éditer : Je viens de le tester aujourd'hui et il semble que ce ne soit plus le cas. Au moins sur MacOS avec Android Studio 3.3.2, je peux maintenant faire une image de Nexus 5X avec Play Store et Hardware Graphics. Je ferai d'autres tests à la maison plus tard, sur Windows et Linux pour voir si c'est lié au système d'exploitation ou aux pilotes graphiques. AVD screen showing a Nexus 5X device with hardware graphics

5 votes

Il n'y a donc aucun moyen d'utiliser les graphiques du logiciel ET le play store ? Je ne peux pas croire que ce soit si mauvais !

0 votes

@LuanNico Je viens de tester cela aujourd'hui et il semble que ce ne soit plus le cas, du moins sur MacOS avec Android Studio 3.3.2, je peux maintenant créer une image de Nexus 5X avec Play Store et Hardware Graphics.

9 votes

Vous pouvez modifier le config.ini et changer le gpu.mode=host . Cela a fonctionné pour moi.

41voto

Patter Points 31

Je pense aussi que c'est lié au fait que le Playstore soit contenu ou non, mais je ne peux pas expliquer pourquoi.

Dielson Sales a déjà donné la réponse qui a fonctionné pour moi - malheureusement seulement dans un commentaire à ce sujet. responder . J'ai juste pensé que ça valait la peine d'en faire une "vraie" réponse :

Modifier le config.ini de l'AVD. Sous Linux, il est situé sous /home/<user>/.android/avd/<AVD-name>/config.ini (dans mon cas <AVD-name> es Nexus_5X_API_29.avd ).

Dans un éditeur de texte, changez les lignes

hw.gpu.enabled=no
hw.gpu.mode=auto

soit pour

hw.gpu.enabled=no
hw.gpu.mode=off

ou à

hw.gpu.enabled=yes
hw.gpu.mode=host

Ce paramètre est conservé même s'il est ouvert dans le gestionnaire de périphériques virtuels d'Android Studio. Il n'est simplement pas modifiable à cet endroit.

J'ai également essayé ceci, que j'ai trouvé dans un autre AVD :

hw.gpu.enabled=yes
hw.gpu.mode=software

Mais cela est ensuite changé en "non" / "off" par le gestionnaire de périphériques virtuels d'Android. Je n'ai pas cherché plus loin jusqu'à présent. hw.gpu.mode=off a fonctionné pour moi. Sinon, tout Kubuntu se bloque (j'utilise le pilote Nouveau, pas le pilote NVidia).

0 votes

\= Est-ce que le fait de définir des propriétés comme hw.gpu.enabled=no hw.gpu.mode=off rend l'émulateur similaire à un vieux dispositif lent ?

1 votes

J'utilise aussi le pilote Nouveau sur un MBP. Utilisation de hw.gpu.enabled=no y hw.gpu.mode=off résolu "Segmentation fault (core dumped)".

0 votes

J'utilise Manjaro et le pilote de ma carte NVidia est réglé sur hw.gpu.enabled=no hw.gpu.mode=off et ça a marché, merci mon frère

13voto

Michel Michels Points 420

Il semble que le problème vienne de la VM choisie. Si je choisis un Nexus 4, ça fonctionne très bien.

0 votes

Actuellement, le profil Nexus 4 ne prend pas en charge Google Play, ce qui pourrait expliquer pourquoi il fonctionne.

7voto

LetsLearn Points 47

Je suis un peu en retard sur ce fil mais voici mes conclusions et ma solution. J'utilise Ubunut 18.04 et j'ai rencontré le même problème. La solution est d'éditer AVD et sous Emulated Performance, changer le grpahics à Software. Le problème était que cette option était désactivée pour moi. Je n'ai pas été en mesure de modifier la liste déroulante des graphiques.

J'ai fait quelques recherches supplémentaires et j'ai découvert que lors de la création de l'AVD, si vous choisissez la définition du dispositif par défaut/existant sur le premier écran, vous ne pourrez pas modifier la liste déroulante des graphiques.

La solution consiste à créer un "nouveau profil hardward" lors de la création de l'AVD et à utiliser votre nouveau profil. Maintenant, vous pourrez modifier le menu déroulant "Grahics".

J'espère que cela vous aidera....

2 votes

Je pense que c'est parce que ce profil ne sera pas compatible avec Google Play ?

1 votes

C'est ce qui m'a le plus aidé. Il suffit de passer à un émulateur de périphérique qui ne contient pas de Play Store, et vous pouvez le configurer pour rendre les graphiques en utilisant un logiciel pendant la création.

6voto

user198829 Points 16

Ouvrez Android Virtual Device Manager Android Studio, modifiez VMHeap à 512, RAM à 4096 MB. Puis redémarrez Android Studio.

enter image description here enter image description here

0 votes

Mais j'ai toujours l'erreur : Emulator : glClear:466 GL err 0x502, je n'ai toujours pas pu résoudre ce problème.

0 votes

Il se peut qu'il ne fonctionne pas avec 4096 Mo de RAM. Avec l'émulateur Android 7.1.1 64 bits, je ne peux utiliser que 2048 Mo de RAM.

0 votes

Ça a marché pour moi. Merci

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X