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

Android依赖冲突:xrpl-core与bitcoinj引入重复bouncycastle类报错

解决Android中xrpl-core与bitcoinj的BouncyCastle依赖冲突问题

构建错误截图

我在Android应用中同时使用xrpl-core和bitcoinj库,两者均依赖bouncycastle 1.72版本,但构建时出现截图中的错误。尝试从xrpl4j-core中排除bcprov-jdk18on依赖后,问题仍未解决。

当前依赖配置如下:

dependencies {
    implementation 'com.android.support:multidex:1.0.3'
    implementation 'org.bitcoinj:bitcoinj-core:0.17-alpha1'
    implementation('org.xrpl:xrpl4j-core:3.0.1') {
        exclude group: 'bcprov-jdk18on', module: 'library'
    }
}

解决方案

1. 强制统一BouncyCastle版本

在gradle配置中添加版本强制策略,确保所有依赖使用同一版本的BouncyCastle模块:

configurations.all {
    resolutionStrategy {
        force 'org.bouncycastle:bcprov-jdk18on:1.72'
        force 'org.bouncycastle:bcpkix-jdk18on:1.72'
    }
}

2. 排查所有冲突的BouncyCastle模块

除了bcprov-jdk18on,bitcoinj可能还依赖bcpkix-jdk18on等其他BouncyCastle模块,仅排除单个模块无法解决全部冲突,通过版本强制可以一次性覆盖所有相关依赖。

3. 适配Android系统自带的BouncyCastle

Android系统内置了旧版本的BouncyCastle,可能与引入的新版本冲突,可在自定义Application类中替换安全提供者:

public class MyApplication extends Application {
    static {
        Security.removeProvider("BC");
        Security.insertProviderAt(new org.bouncycastle.jce.provider.BouncyCastleProvider(), 1);
    }

    @Override
    public void onCreate() {
        super.onCreate();
        // 其他初始化逻辑
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 12:33:21