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

构建Android APK遇缺失类错误,已尝试方案无效求解决

解决方案

1. 修正ProGuard规则的拼写错误

你当前的ProGuard规则中把org.conscrypt误写为org.conscript,这直接导致规则无法生效。更新后的规则如下:

# 修复conscrypt包名拼写,保留相关类和接口
-keep class org.conscrypt.** { *; }
-keep interface org.conscrypt.**
-dontwarn org.conscrypt.**

# 保留BouncyCastle相关类
-keep class org.bouncycastle.** { *; }
-keep interface org.bouncycastle.**
-dontwarn org.bouncycastle.**

# 保留JP2解码器类,避免被混淆移除
-keep class com.gemalto.jp2.JP2Decoder { *; }
-dontwarn com.gemalto.jp2.**

2. 补充缺失的依赖到build.gradle

根据报错中的缺失类,添加对应的依赖项(版本可根据项目适配调整):

// Conscrypt SSL库依赖
implementation("org.conscrypt:conscrypt-android:2.5.2")

// PDFBox的JPX扩展,解决JP2Decoder缺失问题
implementation("com.tom-roush:pdfbox-android-jpx:2.0.29")

// BouncyCastle JSSE相关依赖,解决BCSSL系列类缺失
implementation("org.bouncycastle:bcprov-android:1.70")
implementation("org.bouncycastle:bctls-android:1.70")

3. 初始化Conscrypt(可选但推荐)

若项目需要使用Conscrypt作为默认SSL提供者,在自定义Application的onCreate方法中添加初始化代码:

import org.conscrypt.Conscrypt;
import java.security.Security;

@Override
public void onCreate() {
    super.onCreate();
    // 将Conscrypt设置为优先SSL安全提供者
    Security.insertProviderAt(Conscrypt.newProvider(), 1);
}

4. 清理并重新构建

执行以下命令确保修改生效:

# 清理项目缓存
./gradlew clean
# 构建Release APK
./gradlew assembleRelease

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 04:23:10