Android集成iTextPDF 7遇重复类错误,求解决方案
解决Android集成iTextPDF 7的重复类问题
问题根源
你遇到的重复类错误,是因为混用了Android专用的iText依赖和普通Java版的iText核心包:
com.itextpdf.android:kernel-android:7.2.2已包含适配Android的io-android模块- 额外添加的
com.itextpdf:itext7-core:7.0.2包含普通Java环境的io模块,两者包名完全一致(如com.itextpdf.io.codec.BitFile),且版本不匹配,直接引发类重复冲突。
另外,单独添加kernel-android无法访问Document、Paragraph等类,是因为这些排版相关API属于layout模块,而非kernel核心模块。
解决方案
移除冲突依赖:删除gradle配置中以下代码行
implementation 'com.itextpdf:itext7-core:7.0.2'添加统一版本的Android专用依赖:在Module级别的
build.gradle中添加以下依赖,确保所有模块版本均为7.2.2// 核心内核模块 implementation 'com.itextpdf.android:kernel-android:7.2.2' // 排版模块:提供Document、Paragraph、Font等排版API implementation 'com.itextpdf.android:layout-android:7.2.2' // PDF生成模块(可选:若仅需排版逻辑可忽略) implementation 'com.itextpdf.android:pdf-android:7.2.2'同步并清理项目:
- 点击Android Studio右上角的「Sync Now」同步gradle配置
- 执行「Build -> Clean Project」清理编译缓存,必要时选择「File -> Invalidate Caches... -> Invalidate and Restart」彻底清除缓存残留
验证
同步完成后,即可正常导入Document、Paragraph等类,且不会再出现重复类编译错误。
内容的提问来源于stack exchange,提问作者user3079559
相关产品推荐
相关产品推荐

