You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多模块Kotlin Android项目自定义TLS证书找不到问题求助

解决多模块Android应用中Network Security Config引用跨模块证书的问题

核心问题是默认情况下,network_security_config.xml只会在当前模块(这里是主app模块)的资源目录里查找证书,而你的证书存在webserver模块中,所以需要明确指定资源的模块来源。

解决步骤:

  1. 明确引用跨模块资源的格式
    在network_security_config.xml的证书路径中,加上webserver模块的包名前缀,格式为@[模块包名]:raw/ca_cert。比如你的webserver模块包名是com.yourcompany.webserver,配置要改成:
<network-security-config>
    <domain-config>
        <domain includeSubdomains="true">你的服务器域名</domain>
        <trust-anchors>
            <certificates src="@com.yourcompany.webserver:raw/ca_cert" />
        </trust-anchors>
    </domain-config>
</network-security-config>
  1. 确认模块依赖关系
    检查主app模块的build.gradle(或build.gradle.kts)是否已经正确依赖webserver模块:
dependencies {
    implementation project(':webserver')
}
  1. 验证资源的正确性
  • 确保webserver模块的src/main/res/raw目录下确实存在ca_cert.pem文件,文件名全小写(Android资源文件名不允许大写或特殊字符)。
  • 如果webserver是library模块,默认资源是对外暴露的,不需要额外配置;如果是动态feature模块,需确保feature模块的资源能被主app访问。

内容的提问来源于stack exchange,提问作者Manuel Lucas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 18:49:54