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

Android用iText给PDF加密时找不到AESFastEngine类报错如何解决?

Android平台iText加密PDF崩溃问题解决方案

报错原因

iText的PDF加密功能依赖SpongyCastle(Android平台适配的BouncyCastle加密分支)库,当前项目未引入该依赖,导致运行时加载AES加密相关类失败。

修复步骤

  • 第一步:引入适配的依赖
    首先确认你使用的是Android专属的iText版本,不要直接用Java平台的普通iText包,在模块级build.gradle的dependencies块中添加以下依赖:

    // Android专用iText库
    implementation 'com.itextpdf:itextg:5.5.10'
    // 加密依赖SpongyCastle
    implementation 'com.madgag.spongycastle:core:1.58.0.0'
    implementation 'com.madgag.spongycastle:prov:1.58.0.0'
    

    注:如果你使用的是其他版本的iText 5.x,保持SpongyCastle版本为1.58.x即可保证兼容性

  • 第二步:排除冲突依赖(可选)
    如果项目中其他依赖引入了原生BouncyCastle包,会和SpongyCastle产生冲突,需要在iText依赖中排除冲突项,修改iText依赖配置如下:

    implementation ('com.itextpdf:itextg:5.5.10') {
        exclude group: 'org.bouncycastle'
    }
    
  • 第三步:Multidex配置(可选)
    如果依赖引入完成后仍报类找不到错误,检查是否因方法数超过65535导致未正确加载类,开启Multidex即可解决:

    1. 在build.gradle的defaultConfig块中开启Multidex
    defaultConfig {
        ...
        multiDexEnabled true
    }
    
    1. 若你的项目minSdkVersion低于21,额外引入Multidex依赖:
    implementation 'androidx.multidex:multidex:2.0.1'
    

    同时在自定义Application类的attachBaseContext方法中初始化Multidex。

完成以上配置后重新编译运行,加密逻辑即可正常执行,不会再出现类缺失崩溃问题。

内容的提问来源于stack exchange,提问作者Syed Irfan Hussaini

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:57:03