web-dev-qa-db-fra.com

Comment configurer Android émulateur Lollipop avec Charles Proxy?

J'ai suivi les instructions d'autres questions telles que Comment configurer les certificats SSL avec Charles Web Proxy et le dernier Android Emulator sur Windows? (Je suis sur un MAC cependant) et SSL Proxy/Charles et Android trouble et je peux utiliser Charles Proxy pour analyser les paquets de Android = émulateurs jusqu'à KitKat.

Maintenant, j'essaie de faire la même chose pour les émulateurs Lollipop. Cependant, lorsque j'ai répété les mêmes étapes que celles utilisées pour réussir la configuration des émulateurs KitKat, Charles ne montre rien! Lorsque j'essaie de me connecter au Web à l'aide du navigateur de l'émulateur, il donne l'erreur suivante: enter image description here

Y a-t-il des étapes spéciales requises pour l'émulateur Android Lollipop sur Mac OS X afin d'activer la détection de paquets?

Merci d'avance!

22

J'ai eu la même chose, et j'ai finalement trouvé un moyen de sortir: Suivez les instructions dans le lien que vous avez mentionné: Comment configurer les certificats SSL avec Charles Web Proxy et le dernier Android Emulator sur Windows ?

Puis, à partir de Charles, je suis entré dans le menu 'Proxy' et j'ai activé 'Mac OS X proxy'. Puis, soudain, des choses sont arrivées. Même après avoir désactivé le "proxy Mac OS X" ...

ps: la configuration du proxy via les paramètres mobiles de l'émulateur n'a pas fonctionné; le réglage du proxy doit être fait via la ligne de commande (la commande de l'émulateur dans le sdk/tools et doit être exécutée quelque chose comme: ./emulator -avd Nexus_4_API_21 -http-proxy http://<your-ip-as-in-charles-help-menu>:8888). J'ai également essayé quelques applications proxy comme le proximator sans succès. J'ai également eu des problèmes et le redémarrage de Charles l'a corrigé.

28
Hans

Si vous ne voulez pas jouer avec la ligne de commande, vous pouvez le faire à partir de l'émulateur, cela nécessite un peu plus de configuration mais fonctionne bien:

  1. Ouvrez Paramètres> Plus> Réseaux cellulaires> Noms des points d'accès

enter image description here

  1. Sélectionnez l'APN principal et entrez le proxy comme 10.0.2.2:8888 (pointe vers votre ordinateur localhost) Vous pouvez utiliser une autre IP sur le réseau si vous le faites avec un périphérique réel ou s'il se trouve sur une batterie de périphériques locale.

enter image description here

  1. Accédez à charlesproxy.com/getssl sur Chrome

enter image description here

  1. Le certificat SSL va télécharger

enter image description here

  1. À l'ouverture, il vous demandera de configurer une épingle ou de la confirmer si vous l'avez déjà configurée

  2. Nommez le certificat

enter image description here

  1. Profitez du proxy (vous devez activer le proxy SSL pour votre domaine sur Charles afin de voir les demandes)

Remarque: J'ai testé cela avec un émulateur API 24 et semble fonctionner, mais cela devrait fonctionner avec d'autres versions.

Remarque 2: à partir de Android Studio 3.0 Charles ne sera plus nécessaire lors de l'utilisation d'API> 21 pour la plupart car cela arrive: https://developer.Android.com /studio/profile/network-profiler.html

17
pablisco

Maintenant, il y a un paramètre dans Android emulator enter image description here

10
Chris Gunawardena

cela peut être légèrement fastidieux sur Mac lors du débogage sur Android.

Suis les étapes:

1) Ouvrez le terminal et accédez au dossier tools dans le chemin du SDK.
2) Glissez et déposez un fichier nommé emulator sur le terminal (cela vous donne le chemin du fichier exécutable).
Votre émulateur devrait maintenant lire le chemin comme celui-ci

/ Users/your_pc_name/Android_sdk/tools/emulator -avd Nexus_6P_API_23 -http-proxy http: //x.x.x.x: 8888

ici xxxx est l'adresse IP que vous pouvez trouver dans le menu d'aide de Charles.
3) et exécutez-le.

Voila! Votre émulateur démarre maintenant en mode réseau proxy.

8
sud007
/Users/`whoami`/Library/Android/sdk/tools/emulator -avd `Android list avd | grep Name -m 1 | cut -c 10-99` -http-proxy `ipconfig getifaddr en0`:8888

Cela devrait fonctionner dans la plupart des macs.

2