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

Android项目引入parserng-android后遭遇Gson依赖重复冲突问题求助

Android项目引入parserng-android后遭遇Gson依赖重复冲突问题求助

嗨,这种依赖冲突确实挺闹心的,我帮你捋清楚问题根源并一步步解决:

问题原因分析

从你贴的错误日志能明确看出来:parserng-android:0.1.1这个库的aar包直接内嵌了Gson的全部类文件,而你的项目里(比如Firebase Firestore这类依赖)本身就引入了官方维护的Gson库。两者包含的Gson类完全重复,最终导致编译时触发冲突。

解决方案(分两步操作)

第一步:排除aar包中内嵌的Gson类

在你的app模块的build.gradle文件中,找到android代码块,添加packagingOptions配置,明确告诉Gradle要忽略parserng-android里的Gson类,优先使用项目中依赖的官方Gson:

android {
    namespace = "com.doctors_handbook.foundationdoctorshandbook"
    compileSdk = 35
    defaultConfig {
        // 你原本的defaultConfig配置...
    }
    buildTypes {
        // 你原本的buildTypes配置...
    }
    compileOptions {
        // 你原本的compileOptions配置...
    }
    buildFeatures {
        // 你原本的buildFeatures配置...
    }

    // 新增这段packagingOptions配置
    packagingOptions {
        exclude 'com/google/gson/**'
    }
}

第二步:强制项目使用统一的Gson版本(可选但更稳妥)

为了避免后续其他依赖引入不同版本的Gson引发新的冲突,我们可以在settings.gradle的dependencyResolutionManagement块中添加版本强制策略,锁定Gson的版本为项目中已有的2.10.1:

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven { url = uri("https://jitpack.io") }
    }

    // 新增这段版本强制配置
    resolutionStrategy {
        force 'com.google.code.gson:gson:2.10.1'
    }
}

最后验证

点击Android Studio右上角的「Sync Project with Gradle Files」按钮同步所有配置,然后重新编译项目,这些重复类的冲突应该就会完全消失了。

补充说明

这里为啥不用常规的exclude group: 'com.google.code.gson'来排除依赖?因为parserng-android不是通过Gradle依赖的方式引入Gson的,而是把Gson的类直接打包进了自己的aar包,所以常规的依赖排除方法根本无效,必须用packagingOptions来直接排除内嵌的类文件。


内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 10:33:01