android - 卡在 Android TV / Fire TV 的 Charles 代理证书安装中
问题描述
我们最近开始在 Android TV 上工作,我们需要连接 charles 代理工具以简化开发过程。我们能够使用相同的 wifi 连接在电视上设置代理。
但是我们没有任何方法可以在 Android tv 中安装 charles 可信证书。我们尝试了各种方法,但找不到任何可行的方法:
我们尝试将证书推送到 android 电视,但没有办法安装保存在电视存储中的证书。
我们在安卓手机中可用的高级 wifi 中找不到“安装证书”选项。我们在手机中使用此选项来安装保存在本地设备存储中的证书。
我们尝试设置代理,然后尝试在 chrome 上打开 www.charlesproxy.com/getssl 以下载和安装证书,但这种方法也不起作用。由于启用了代理,我们无法通过谷歌帮助启动 chrome。
我们尝试了网址中提供的方法:
但上述方法不起作用。这些命令给出了权限被拒绝的问题。我们不希望我们的 android 电视被植根。
请帮助我们安装信任证书。任何帮助将非常感激。!!
解决方案
我认为您可能已经解决了您的问题,但是对于仍在为此苦苦挣扎的其他人,您可以尝试:
从 Charles 应用程序导出证书。通常命名为“charles_ssl_proxying_certificate.pem”
将该证书作为原始文件添加到您的 android 项目中。(源/资源/原始)
创建一个新的资源文件夹“xml”(可能您已经拥有它)
创建一个名为“network_security_config.xml”的新 xml 文件
将此内容粘贴到该新文件中
<network-security-config> <base-config> <trust-anchors> <certificates src="system" /> </trust-anchors> </base-config> <debug-overrides> <trust-anchors> <certificates src="@raw/charles_ssl_proxying_certificate"/> <certificates src="user" /> </trust-anchors> </debug-overrides> </network-security-config>
将此行添加到应用程序标记的 androidManifest
android:networkSecurityConfig="@xml/network_security_config"
如果您已经在 AndroidTV 上配置了代理,这就足够了