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

生成签名APK时app:minifyReleaseWithR8失败,缺失Conscrypt类求助

R8编译缺失org.conscrypt类问题解决方案

问题原因

OkHttp的ConscryptPlatform在编译阶段尝试调用Conscrypt加密库的类,但项目未引入该依赖,或R8混淆时误将相关类移除,导致编译失败。


解决方法

方法一:引入Conscrypt依赖

在app模块的build.gradle(或build.gradle.kts)的dependencies块中添加Conscrypt依赖:

// Groovy语法
implementation 'org.conscrypt:conscrypt-android:2.5.2'

// Kotlin DSL语法
implementation("org.conscrypt:conscrypt-android:2.5.2")

同步项目后重新生成签名Bundle/APK即可。

方法二:添加R8保留规则

若无需引入Conscrypt库,可通过保留规则阻止R8处理相关类:

  1. 打开项目中的app/proguard-rules.pro文件
  2. 添加以下规则:
-dontwarn org.conscrypt.**
-keep class org.conscrypt.** { *; }

也可直接将报错提示路径D:\AndroidStudioProjects\W-Android\app\build\outputs\mapping\release\missing_rules.txt中的内容复制到proguard-rules.pro中。

方法三:指定OkHttp使用其他平台实现

通过配置OkHttpClient,强制其使用Android内置的平台实现,避开Conscrypt相关逻辑:

// Java
OkHttpClient client = new OkHttpClient.Builder()
    .platform(new okhttp3.internal.platform.AndroidPlatform())
    .build();
// Kotlin
val client = OkHttpClient.Builder()
    .platform(okhttp3.internal.platform.AndroidPlatform())
    .build()

内容的提问来源于stack exchange,提问作者Pinkdia Banth

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 19:12:13