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

如何修复使用react-native-splash-screen时出现的重复类错误?

React Native安装react-native-splash-screen后安卓构建重复类错误解决方法及原因分析

问题原因

这个错误的核心是AndroidX与旧版Android Support Library的共存冲突:
react-native-splash-screen依赖了旧的com.android.support:support-compat库,而你的项目已经启用了AndroidX(使用androidx.core:core库)。这两个库包含完全相同的类定义(比如报错里的android.support.v4下的各类),Gradle构建时无法区分,因此抛出重复类错误。

AndroidX是Google官方推出的替代旧Support Library的全新库体系,两者本质上是同一套API的不同命名空间实现,绝对不能在同一个项目中混用,否则必然出现这类冲突。

解决方法

1. 启用Jetifier自动迁移依赖

在项目根目录的android/gradle.properties文件中添加以下配置,让Gradle自动将所有第三方依赖中的旧Support Library引用转换为AndroidX:

android.useAndroidX=true
android.enableJetifier=true

Jetifier是官方提供的工具,会自动修改第三方依赖的字节码,把旧的android.support包路径替换为androidx对应的路径,从根源上解决依赖冲突。

2. 清理缓存后重新构建

配置完成后,需要清理项目缓存避免残留的旧依赖影响:

  • 执行项目级清理:yarn clean(或npm run clean)
  • 进入安卓目录执行构建缓存清理:cd android && ./gradlew clean
  • 重新运行构建:yarn android

3. 手动排除冲突依赖(可选)

如果启用Jetifier后仍有问题,可以手动排查并排除冲突的旧依赖:

  1. 进入安卓目录,执行./gradlew app:dependencies查看完整依赖树,找到引用com.android.support:support-compat的依赖项
  2. 在android/app/build.gradle中,给对应的依赖添加排除规则,比如针对react-native-splash-screen:
implementation(project(':react-native-splash-screen')) {
    exclude group: 'com.android.support', module: 'support-compat'
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 02:32:01