首页 > 解决方案 > 卡在 Android TV / Fire TV 的 Charles 代理证书安装中

问题描述

我们最近开始在 Android TV 上工作,我们需要连接 charles 代理工具以简化开发过程。我们能够使用相同的 wifi 连接在电视上设置代理。

但是我们没有任何方法可以在 Android tv 中安装 charles 可信证书。我们尝试了各种方法,但找不到任何可行的方法:

  1. 我们尝试将证书推送到 android 电视,但没有办法安装保存在电视存储中的证书。

  2. 我们在安卓手机中可用的高级 wifi 中找不到“安装证书”选项。我们在手机中使用此选项来安装保存在本地设备存储中的证书。

  3. 我们尝试设置代理,然后尝试在 chrome 上打开 www.charlesproxy.com/getssl 以下载和安装证书,但这种方法也不起作用。由于启用了代理,我们无法通过谷歌帮助启动 chrome。

  4. 我们尝试了网址中提供的方法:

如何在没有用户交互的情况下在 Android 上以编程方式安装 CA 证书

但上述方法不起作用。这些命令给出了权限被拒绝的问题。我们不希望我们的 android 电视被植根。

请帮助我们安装信任证书。任何帮助将非常感激。!!

标签: androidcertificatessl-certificateandroid-tvcharles-proxy

解决方案


我认为您可能已经解决了您的问题,但是对于仍在为此苦苦挣扎的其他人,您可以尝试:

  1. 从 Charles 应用程序导出证书。通常命名为“charles_ssl_proxying_certificate.pem”

  2. 将该证书作为原始文件添加到您的 android 项目中。(源/资源/原始)

  3. 创建一个新的资源文件夹“xml”(可能您已经拥有它)

  4. 创建一个名为“network_security_config.xml”的新 xml 文件

  5. 将此内容粘贴到该新文件中

    <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>
    
  6. 将此行添加到应用程序标记的 androidManifest

    android:networkSecurityConfig="@xml/network_security_config"
    

如果您已经在 AndroidTV 上配置了代理,这就足够了


推荐阅读