ハマったのでメモとして残しておきます
ProxymanのAndroid用手順では使えませんでした
(Proxyman Version 5.9.0)
使えない理由としては、
実機は証明書をインストールするGUIが用意されていません
エミュレータはarm64で用意されているOSがproduction buildでrootがとれません
(とれないので、証明書が置けない)
手順
- Proxymanのpemを出力する
Proxymanの以下設定から出力できます
Certificate -> Export -> Root Certificate as PEM...
- pemをAndroid TVのプロジェクト配下におく
app/src/debug/res/raw
このpemは個人の環境によるので、gitにcommitしない方が良いです - networkSecurityConfigを作る
app/src/debug/res/xml/network_security_config.xml
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <debug-overrides> <trust-anchors> <certificates src="system" /> <certificates src="@raw/${拡張子を除いたpemのファイル名}" /> <certificates src="user" /> </trust-anchors> </debug-overrides> </network-security-config>
- AndroidManifestにnetworkSecurityConfig設定を追加する
app/src/debug/AndroidManifest.xml
<application android:networkSecurityConfig="@xml/network_security_config"> </application>
- エミュレータの場合
Proxymanの以下設定から、No.2のスクリプトを実行する
Certificate -> Install Certificate on Android -> Emulators...
(エミュレータは対象の1つだけにして、実機はdisconnectしておいた方がいいです)
- 実機の場合
Proxymanの以下設定から、No.2のプロキシ設定をする
Certificate -> Install Certificate on Android -> Physical Devices...