web-dev-qa-db-fra.com

Émulateur Android avec paramètres de proxy - Erreur FATAL: .// Android/base/sockets/Echec de la vérification: isValidFd (fd). fd 1404 max1024

besoin d'exécuter l'émulateur avec les paramètres de proxy, j'utilise la commande suivante dans la commande Invite pour démarrer l'émulateur 

emulator -avd AVD_for_3_7_WVGA_Nexus_One -http-proxy http://username:password@IP:Port

Sans commutateur http-proxy, cela fonctionne correctement, mais l'erreur suivante s'est produite lors de l'utilisation du proxy http:

 FATAL:.//Android/base/sockets/SocketWaiter.cpp:89:Check failed: isValidFd(fd). fd 1404 max1024
26
Divesh Pal

Je rencontre exactement le même problème.

Heureusement, il existe une solution de contournement et je peux dire que cela fonctionne (du moins dans mon cas): ajouter le paramètre -no-audio à la commande:

emulator -avd <device_name> -no-audio -http-proxy http://<username:password@>IP:Port

edit: même si cela fonctionne pour vous, s'il vous plaît étoiles le bug pour le faire réparer!

57
ph0b

Pour une raison quelconque, l'émulateur Android n'aime pas l'adresse IP en tant que proxy. Si vous utilisez Fiddler, utilisez localhost:8888:

emulator.exe -avd Nexus_5_API_21_x86 -no-audio -http-proxy localhost:8888

N'oubliez pas le paramètre -no-audio également.

6
Pavel Chuchuva

Ajouter " -http-proxy none " (sans les guillemets) dans la configuration de l’exécution aussi corrige ce problème comme le montre l’image jointe. Veuillez noter que ceci est un moyen de résoudre ce problème. Votre application risque de ne pas pouvoir se connecter à Internet via un proxy ultérieurement.

enter image description here

2
Vinay Kadalagi

Toutes les solutions ci-dessus ont été incapables de résoudre mon cas. Pour moi, les paramètres de proxy étaient obligatoires. Désactiver un paramètre de proxy ne me convient donc pas. La seule solution qui m'aide est de désactiver l'option "Utiliser l'hôte GPU" dans les options de l'émulateur. L'ajout du paramètre "-no-audio" est également requis. 

Et il fonctionne! Lentement, mais fonctionne.

1
Subtle Fox

Cela ne fonctionne toujours pas. Merci de lire ce rapport de bogue afin que nous puissions le réparer - je vous ai déjà suggéré de modifier FD_SETSIZE de winsock.h en valeur supérieure, par exemple 2048 car cela ne change pas l'implémentation du socket Windows selon la documentation de Microsoft:

// Default FD_SETSIZE is 64 which is not enough for us.
#  define FD_SETSIZE 1024

https://code.google.com/p/Android/issues/detail?id=102361

1
damian1baran

Ce problème est vraiment frustrant. Ce serait bien si le ciblage sur la racine réelle était corrigé, car la plupart des configurations sont derrière le proxy maintenant. 

Lors de mes recherches sur ce problème au cours des dernières semaines, j'ai constaté que l'émulateur n'était pas stable en ce qui concerne http-proxy.

J'ai installé Android-studio-bundle-141.2422023-windows sur l'un des autres m/c sur celui-ci, bien que les paramètres de proxy fonctionnent correctement pour les sites http mais échouent pour les sites https.

Sur mon m/c cela n'a pas fonctionné. J'ai essayé avec toutes les options listées en ligne telles que -no-audio ou les paramètres de APN (paramètres de l'émulateur), ou différentes versions de l'utilisation de -http-proxy. Mais aucun ne fonctionne pour moi. 

C’est toujours un bogue dans l’émulateur Android, consultez le lien - https://code.google.com/p/Android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Status%20Priority%20Owner%20Summary % 20Stars% 20Reporter% 20Open/groupby = & sort = & id = 102361

1
Deepak Dongre

Le problème a été résolu sur les derniers outils du SDK Android (au moment de la rédaction de cet article, il était en aperçu) Vous avez besoin de la version 25+ pour obtenir le nouvel émulateur qui ne rencontre plus ce problème.

0
haimlit