It's too complicated and error-prone if we manually override the HTTP Proxy, Install, and Trust Proxyman Certificate from your Android Emulator.
Thus, Proxyman provides a built-in script to automatically perform it in a second. You can access it from Certificate Menu -> Install Certificate on Android -> Emulator.
From Proxyman 5.14.0 or earlier, this Script only installs the User Certificate to the User Certificate Store, not the System Certificate Store. If you'd like to install the certificate into the System Certificate, please follow this .
From Proxyman 5.15.0 or later, Proxyman can now install Proxyman certificate into the system-level Store. Make it possible to decrypt all HTTPS from Android Emulators.
2. Benefit?
1 Click to:
✅ Auto Override / Revert HTTP Proxy
✅ Automatically download, install, and trust the Proxyman Certificate at the system-level store. Can decrypt all HTTPS from your Emulators. (Available on Proxyman 5.16.0 or later)
No need network_security_config.xml
✅ Less error-prone and finishes in a few clicks
Work with Android Emulator and Android Physical Devices via `adb` (Only for Proxyman v5.19.0+)
Install Proxyman Certificate to the system-level Store.
3. How to use it?
Make sure the adb command is installed. If not, please install it
brew install android-platform-tools
Open your Android app with Android Studio
Create a new Emulator in Android Virtual Device Manager. Make sure it's not the Play Store. Must be a Google Play API
Open Proxyman -> Certificate Menu -> Install Certificate on Android -> Emulators -> Click on the Override All Emulators button
Wait until the Terminal completes
Relaunch your Android app on Android Studio
Proxyman will capture all HTTPS data ✅
If you close Proxyman, make sure to click on the Revert All Changes button. Otherwise, your Android Emulator could not access the Internet.
4. ⚠️ Proxyman 5.15.0 or earlier
Proxyman 5.15.0 or earlier is only able to install Proxyman Certificate to the User level.
It means: We have to complete the next step:
In your source code:
Add res/xml/network_security_config.xml
<network-security-config>
<debug-overrides>
<trust-anchors>
<!-- Trust user added CAs while debuggable only -->
<certificates src="user" />
<certificates src="system" />
</trust-anchors>
</debug-overrides>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
<certificates src="user" />
</trust-anchors>
</base-config>
</network-security-config>
Usage: /Applications/Proxyman.app/Contents/Frameworks/ProxymanCore.framework/Resources/install_certificate_android_emulator.sh -m <mode> [options]
Modes:
all Set proxy and install certificate
proxy Set proxy only
revertProxy Revert proxy settings only
certificate Install certificate only
Required Options based on Mode:
-m, --mode <mode> : Operation mode (all, proxy, revertProxy, certificate)
-i, --ip <ip_address> : IP address (required for all, proxy, certificate)
-p, --port <port_number> : Port number (required for all, proxy, certificate)
-c, --cert <path_to_cert.pem> : Path to Proxyman certificate (required for all, certificate)
Optional Options:
--include-physical : Include physical devices (default: only emulators)
-h, --help : Show this help message
Prepare the certificate
Open the Proxyman app
Find the current IP in the Main Toolbar
Certificate menu -> Export -> Root Certificate as PEM -> Save to Desktop folder
4.1 Override HTTP Proxy and Install the Certificate to system-level Store
Proxyman v5.19.0 or later (NEW)
bash /Applications/Proxyman.app/Contents/Frameworks/ProxymanCore.framework/Resources/install_certificate_android_emulator.sh --mode all --ip <current_ip> --port <port> --cert <certificate_path>
Proxyman v5.18.0 or earlier
bash /Applications/Proxyman.app/Contents/Frameworks/ProxymanCore.framework/Resources/install_certificate_android_emulator.sh all <current_ip> <port> <certificate_path>