我们最近开始在Android TV上工作,我们需要连接charles代理工具以简化开发过程。我们能够使用相同的wifi连接在电视上设置代理。
但是我们没有任何方法在Android电视中安装查尔斯可信任证书。我们尝试了各种方法,但没有任何可行的方法:
我们尝试将证书推送到android电视,但没有办法继续安装保存在电视存储中的证书。
我们在android手机中可用的高级wifi中找不到“安装证书”选项。我们在手机中使用了此选项,以安装保存在本地设备存储中的证书。
我们尝试设置代理,然后尝试在chrome上打开www.charlesproxy.com/getssl来下载并安装证书,但是这种方法也不起作用。由于启用了代理,我们无法通过Google帮助启动Chrome。
我们尝试了网址中提供的方法:
how to install CA certificate programmatically on Android without user interaction
但是上述方法无效。这些命令给出了权限被拒绝的问题。我们不希望我们的Android电视扎根。
请帮助我们安装信任证书。任何帮助将不胜感激!!
答案 0 :(得分:3)
我认为您可能已经解决了您的问题,但对于仍在为此苦苦挣扎的其他人,您可以尝试:
从 Charles 应用程序导出证书。通常命名为'charles_ssl_proxying_certificate.pem'
将该证书作为原始文件添加到您的 android 项目中。 (src/res/raw)
创建一个新的资源文件夹“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 上配置了代理,这就足够了
答案 1 :(得分:0)
听起来您似乎尚未将应用程序配置为信任Charles生成的SSL证书-请参阅SSL Certificates指南中的 Android 部分。