How to set up Android emulator proxy settings

Viewed 265258

I want to to use the browser inside the Android emulator, and I want to use the proxy settings on my machine. How can I set this up?

Reading the very good Android manuals, they tell me that I should start Android using the following command:

emulator -avd myavd -http-proxy http://168.192.1.2:3300

But I am still not able to use the emulator browser. Please note that I am using the IP address for my proxy server.

What am I doing wrong?

21 Answers

On Android Studio:

Click on Edit Configuration under App Menu

enter image description here

  1. Go to App or Android App (as default settings)
  2. tap on Debugger
  3. Tap on LLDB startup command
  4. Tap +
  5. Add you command -http-proxy http://168.192.1.2:3300

enter image description here

that`s it.

More cool stuff if you wanna use your PC IP, use this command:

  • -http-proxy "$(ipconfig getifaddr en0)":8888 on MacOS
  • -http-proxy "$(hostname -i)":8888 on Linux

====== UPDATE 23.2.2022 ======

Currently I'm using these commands for enable/disable proxy:

adb shell settings put global http_proxy 127.0.0.1 :8889

or dynamically taking my pc as host

adb shell settings put global http_proxy $(ipconfig getifaddr en0) :8889

To disable that proxy use:

adb shell settings put global http_proxy :0

For setting proxy server we need to set APNS setting. To do this:

  1. Go to Setting

  2. Go to wireless and networks

  3. Go to mobile networks

  4. Go to access point names. Use menu to add new apns

    Set Proxy = localhost

    Set Port = port that you are using to make proxy server, in my case it is 8989

    For setting Name and apn here is the link:

    According to your sim card you can see the table

For some leanback (TV) emulators you can use cmd:

adb shell settings put global http_proxy 10.0.2.2:8888

  • 8888 - is a port of proxy on a local machine (host), so on a local machine the http proxy will be 127.0.0.1:8888

To remove proxy (run sequentially in cmd line):

adb shell settings delete global http_proxy

adb shell settings put global global_http_proxy_host ""

adb shell settings put global global_http_proxy_port ""

In console start the next command:

emulator -avd emulator_name -http-proxy you_proxy_ip_address:8080

For 2022 you can use adb command like below:

adb shell settings put global http_proxy "your_PC_IP:PORT_YOU_LISTEN"

and you can disable your proxy with command below:

adb shell settings put global http_proxy :0
Related