Android Studio添加json-simple依赖后遇Invalid type code:82及重复类错误
解决Android项目中Hamcrest类重复冲突及Invalid type code:82错误
作为Kotlin和Android Studio新手,你遇到的这两个问题其实是关联的——构建阶段的Hamcrest类重复冲突直接导致了运行时的Invalid type code:82错误,我来帮你一步步解决:
问题根源
你添加的json-simple:1.1.1依赖会自动引入junit:4.10和hamcrest-core:1.1(即使它们是test scope依赖,在Android项目中可能被意外拉入主代码类路径);而你配置的junit:4.13本身依赖独立的Hamcrest库,同时旧版本JUnit 4.10内部包含了Hamcrest的核心类,这就造成了类重复冲突。运行时的类型错误正是类加载混乱引发的。
解决方案
1. 排除json-simple中的冲突依赖
修改build.gradle中json-simple的依赖配置,手动排除它自带的junit和hamcrest-core依赖:
implementation('com.googlecode.json-simple:json-simple:1.1.1') { exclude group: 'junit', module: 'junit' exclude group: 'org.hamcrest', module: 'hamcrest-core' }
2. 保持JUnit依赖的正确性
你配置的testImplementation 'junit:junit:4.13'是正确的版本——4.11及以上的JUnit不再内置Hamcrest类,从根源避免了冲突,保持这个配置即可。
3. 清理并重建项目
执行以下步骤彻底清除旧缓存:
- 点击Android Studio菜单栏的
Build > Clean Project - 接着点击
Build > Rebuild Project - 若仍有问题,可手动删除项目根目录的
.gradle文件夹和app模块下的build文件夹,再重新同步Gradle
验证
完成以上操作后重新运行应用:
- Gradle的
checkDebugDuplicateClasses任务将不再抛出重复类错误 - 运行时的
Invalid type code:82错误也会随之消失
如果还有其他疑问,随时留言!
内容的提问来源于stack exchange,提问作者tofuthefirst
相关产品推荐
相关产品推荐

