Once you've done all the initial configuration to route HTTP and HTTPS traffic from your Android device through Charles, as described here
, you might find yourself wanting to quickly enable and disable this network proxy on your device. Manually adding and removing proxy settings via Android's built-in wifi config UI is time-consuming and slightly cumbersome. Wouldn't it be better if you could just do this from the command-line? You can! And it's actually quite simple.
Warning: This uses a feature that's typically reserved for administrators within a workplace or other organization that owns your device. Once you enable this global proxy, you can't manually disable it from your device; be sure to disable it via adb before walking off with your phone and using it for other purposes.
Enable & Disable Global HTTP Proxy For Charles Monitoring
adb shell settings put global http_proxy <host>:<port>
adb shell settings get global http_proxy
Disable proxy (takes effect right away):
adb shell settings put global http_proxy :0
Delete the global setting (takes effect on restart or in response to PROXY_CHANGE broadcast):
adb shell settings delete global http_proxy
adb shell settings delete global global_http_proxy_host
adb shell settings delete global global_http_proxy_port
If you found this helpful, you'd like to thank me, and you enjoy reading sci-fi -- or know someone who does -- buy a copy of Upload