Je souhaite utiliser le navigateur à l'intérieur de l'émulateur Android et les paramètres de proxy de ma machine. Comment puis-je configurer cela?
En lisant les très bons manuels Android, ils me disent que je devrais démarrer Android en utilisant la commande suivante:
emulator -avd myavd -http-proxy http://168.192.1.2:3300
Mais je ne suis toujours pas en mesure d'utiliser le navigateur de l'émulateur. Veuillez noter que j'utilise l'adresse IP pour mon serveur proxy.
Qu'est-ce que je fais mal?
Le moyen le plus simple et le meilleur consiste à effectuer les opérations suivantes:
Sous Configuration> Application Android> Application> Cible> Options de ligne de commande de l'émulateur supplémentaires: -http-proxy http: //xx.xxx.xx.xx: 8080
J'ai essayé après avoir supprimé http dans le nom du serveur et cela a fonctionné pour moi.
emulator -avd myavd -http-proxy 168.192.1.2:3300
Cela n’aidera pas le navigateur, mais vous pouvez également définir un proxy dans votre code à utiliser avec un client HTTP:
// proxy
private static final String PROXY = "123.123.123.123";
// proxy Host
private static final HttpHost PROXY_Host = new HttpHost(PROXY, 8080);
HttpParams httpParameters = new BasicHttpParams();
DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, PROXY_Host);
Sur Android Studio:
Cliquez sur Edit Configuration sous App Menu
-http-proxy http://168.192.1.2:3300
c'est ça.
Plus de trucs sympas si vous voulez utiliser votre IP IP, utilisez cette commande:
-http-proxy "$(ipconfig getifaddr en0)":8888
sur MacOS-http-proxy "$(hostname -i)":8888
sous LinuxJe n'ai pas eu de chance jusqu'à ce que j'essaie de définir la variable d'environnement http_proxy
http://developer.Android.com/tools/help/emulator.html
"Si la commande -http-proxy n'est pas fournie, l'émulateur recherche la variable d'environnement http_proxy et utilise automatiquement toute valeur correspondant au format décrit ci-dessus."
Installez Proxifier sur votre ordinateur hôte. Configurer le proxy pour utiliser votre proxy . Vous n'avez rien d'autre à faire. Tu seras bien. Proxifier intercepte les appels du système (y compris l'émulateur Android) et les achemine via le proxy configuré.
Parfois, même après avoir tout réglé, cela peut ne pas fonctionner. J'ai essayé toutes les méthodes comme
Rien n'a fonctionné. Ensuite, j'ai fait ce qui suit, qui a fonctionné instantanément.
Allez à Eclipse Run -> run configurations. Sous Applications Android, vous pouvez voir votre application. Maintenant, à droite, cliquez sur l'onglet Cible. Sous "Options supplémentaires de la ligne de commande de l'émulateur", ajoutez les éléments suivants.
-dns-server <Serveurs DNS de votre machine locale jusqu'à trois> -http-proxy http: // <votre proxy>: <votre port proxy>
Le problème ici est que le paramètre du serveur DNS doit provenir de votre système local. Allez à cmd Invitez et exécutez ipconfig pour vérifier vos serveurs DNS. Idem avec le serveur proxy et le port. Tout ce qui fonctionne pour votre navigateur doit être mis ici.
Le moyen le plus simple est de supprimer l’APN par défaut de l’émulateur (dans mon cas, son T-mobile) et de créer un nouvel APN avec vos paramètres de proxy.
Remarque: j'ai essayé toutes les options de ligne de commande et j'ai également essayé de définir le proxy pour l'APN par défaut de Emulators, mais rien n'a fonctionné.
rien de tout cela n'a fonctionné J'utilise Eclipse sous Windows 64 bits: procédez comme suit ... cela a fonctionné pour moi: Fenêtre -> Préférences -> Android -> Lancer -> Options d'émulateur par défaut - http-proxy = "http://10.1.8.30:8080"
dans votre fenêtre Eclipse
Selon l'environnement dans lequel vous utilisez l'émulateur, consultez les journaux pour voir comment l'émulateur est démarré. Le mien est démarré comme:
C:\Users\johan\AppData\Local\Android\Sdk\tools\emulator.exe -netdelay aucune -netspeed full -avd Nexus_5X_API_23
Ensuite, vous ajoutez l'option -http-proxy, dans mon cas:
C:\Users\johan\AppData\Local\Android\Sdk\tools\emulator.exe -netdelay none -netspeed full -avd Nexus_5X_API_23-http-proxy 192.168.0.22:8888
Pour configurer le serveur proxy, nous devons définir le paramètre APNS
. Pour faire ça:
Aller au réglage
Aller au sans fil et aux réseaux
Accéder aux réseaux mobiles
Aller aux noms des points d'accès. Utilisez le menu pour ajouter de nouveaux apns
Set Proxy = localhost
Définissez Port = port que vous utilisez pour créer un serveur proxy, dans mon cas, il s'agit de 8989
Pour paramétrer Nom et apn voici le lien:
Selon votre carte sim
, vous pouvez voir le tableau
Êtes-vous sûr que votre adresse est 168.192.1.2 et non 192.168.1.2?
Remarquez les deux premiers nombres intervertis.
Si vous êtes sous environnement proxy et qu'Internet ne fonctionne pas dans votre émulateur, veuillez ne modifier aucun paramètre dans l'émulateur. Allez dans votre projet Eclipse, faites un clic droit, cliquez sur "Exécuter en tant que" puis cliquez sur "Exécuter la configuration". Dans la fenêtre contextuelle, choisissez "Cible" et faites défiler un peu, Vous trouverez "Options supplémentaires de la ligne de commande de l'émulateur" Entrez votre paramètre de proxy ici dans "Options supplémentaires de la ligne de commande de l'émulateur" tel que je l'ai entré
-http-proxy http: // ee11s040: Om1l2ng3d4n2! [email protected]: 3128
Puis lancez un nouvel émulateur.
la meilleure façon de définir le proxy d'entreprise avec l'authentification NTLM est d'utiliser cntlm:
Installez et configurez dans C:\Program Files\Cntlm\cntlm.ini Par défaut cntlm, écoute 127.0.0.1:3128.
Sur un appareil Android, définissez un nouvel APN avec l'hôte proxy 10.0.2.2 et le port 3128 10.0.2.2 est un alias spécial de votre interface de bouclage hôte (127.0.0.1 sur votre ordinateur de développement)
voir aussi http://developer.Android.com/tools/devices/emulator.html#emulatornetworking
Cordialement
Vous pouvez définir le proxy dans votre application. Cela peut être fait en utilisant la classe Settings . Par exemple, vous pouvez ajouter la ligne suivante à votre méthode "onCreate".
Settings.System.putString(getContentResolver(), Settings.System.HTTP_PROXY, "myproxy:8080");
Pour modifier les paramètres de proxy, vous devez disposer de l'autorisation Android.permission.WRITE_SETTINGS dans votre fichier AndroidManifest.xml.
Dans la console, lancez la commande suivante:
emulator -avd emulator_name -http-proxy you_proxy_ip_address:8080
Avoir l'émulateur Android AVD:
Sur le premier champ (HTTP Proxy Server), définissez uniquement l'adresse IP où se trouve votre proxy (XXX.XXX.XXX.XXX) Sur le second champ, définissez le port de votre proxy (exemple: 8080)
Ensuite, cliquez sur Fermer dans la fenêtre et démarrez l'émulateur.
---- Ajouté ... Ensuite, les étapes alex fonctionnent sur mon cas:
Click on Menu
Click on Settings
Click on Wireless & Networks
Go to Mobile Networks
Go to Access Point Names
Here you will Telkila Internet (or other name), click on it.
In the Edit access point section, input the "proxy" and "port"