网络安全配置预期系统,用户或@resource值

时间:2019-01-18 22:03:33

标签: android charles-proxy

我目前正在尝试为AndroidTV / FireTV设置Charles Proxy服务,但是在res / xml / network_security_config.xml中指定证书颁发机构时遇到了问题

<network-security-config>
    <debug-overrides>
        <trust-anchors>
            <!-- Trust user added CAs while debuggable only -->
            <certificates src="@raw/my_ca" />
        </trust-anchors>
    </debug-overrides>
</network-security-config>

每次我尝试键入@raw时,我的IDE都会自动完成对appNs(应用程序名称空间)的访问。我尝试了无效/重新启动,清理/重建,添加appN,在gradle的sourceSets中指定raw,检查compileSDK / build工具(Error in configuring network security xml in android)的更新,但是该应用仍然拒绝解析我的资源。

编辑:尽管没有解析资源ID,但该应用仍会在运行时编译并崩溃,并显示以下错误:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.my.package, PID: 29431
java.lang.RuntimeException: Unable to create application com.my.package.tv.ui.TVAppClass: java.lang.RuntimeException: Failed to parse XML configuration from network_security_config
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5881).

后跟...

Caused by: android.security.net.config.XmlConfigSource$ParserException: Unknown certificates src. Should be one of system|user|@resourceVal at: Binary XML file line #6
    at android.security.net.config.XmlConfigSource.parseCertificatesEntry(XmlConfigSource.java:211)
    at android.security.net.config.XmlConfigSource.parseTrustAnchors(XmlConfigSource.java:226)
    at android.security.net.config.XmlConfigSource.parseConfigEntry(XmlConfigSource.java:280)
    at android.security.net.config.XmlConfigSource.parseNetworkSecurityConfig(XmlConfigSource.java:350)
    at android.security.net.config.XmlConfigSource.ensureInitialized(XmlConfigSource.java:101)

使用“系统”或“用户”值可以很好地运行,但是Charles的SSL代理无法正常工作。

设备元:

  • Android Studio 3.3
  • Build#AI-182.5107.16.33.5199772,建于2018年12月24日
  • JRE:1.8.0_152-发行版1248-b01 x86_64
  • VM:JetBrains s.r.o的OpenJDK 64位服务器VM
  • macOS 10.12.6
  • compileSdkVersion 28
  • buildTools版本28.0.3

0 个答案:

没有答案