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

React Native Camera安卓端Gradle构建报错求助

解决React Native Camera Android构建冲突:com.google.android.gms.license重复包问题

我之前也碰到过一模一样的问题,明明前一周还运行正常,突然就炸出这个Gradle构建错误,折腾了好一阵子才搞定,给你几个靠谱的解决方案:

核心原因

这个报错本质是Google Play Services(GMS)依赖版本冲突——你的项目里可能有多个依赖(比如react-native-camera、Firebase、Maps等)引入了不同版本的GMS组件,导致com.google.android.gms.license包被重复加载。

解决方案

1. 统一所有GMS依赖版本(最推荐)

通过项目根目录的build.gradle定义全局版本变量,强制所有依赖使用同一版本的GMS:

// 项目根目录/build.gradle
buildscript {
    ext {
        buildToolsVersion = "30.0.3"
        minSdkVersion = 21
        compileSdkVersion = 30
        targetSdkVersion = 30
        // 统一GMS版本号,选择和你项目其他依赖兼容的版本
        googlePlayServicesVersion = "17.0.0"
    }
    repositories {
        google()
        jcenter()
    }
    // ... 其他buildscript内容
}

然后在android/app/build.gradle里添加BOM(Bill of Materials)来自动管理GMS版本:

// android/app/build.gradle
dependencies {
    // 强制所有GMS依赖使用统一版本
    implementation platform('com.google.android.gms:play-services-bom:17.0.0')
    // ... 你的其他依赖,比如react-native-camera、Firebase等
}

2. 排除react-native-camera中的冲突依赖

如果统一版本还是不行,可以直接排除react-native-camera里的冲突GMS模块:

// android/app/build.gradle
dependencies {
    implementation(project(':react-native-camera')) {
        // 排除冲突的GMS组件,比如vision(react-native-camera常用的GMS模块)
        exclude group: 'com.google.android.gms', module: 'play-services-vision'
        // 或者直接排除license模块(如果能精准定位的话)
        exclude group: 'com.google.android.gms', module: 'license'
    }
}

3. 清理Gradle缓存(必做步骤)

有时候旧缓存会导致依赖解析异常,执行以下命令彻底清理:

# 清理项目缓存
./gradlew clean
# 停止Gradle守护进程
./gradlew --stop
# 删除全局Gradle缓存(可选,但建议做)
rm -rf ~/.gradle/caches/

4. 检查并锁定所有依赖版本

突然出现问题大概率是某个依赖自动更新了版本(比如你用了+或者未锁定的版本号)。可以通过以下命令查看依赖树,找到冲突的GMS版本:

./gradlew app:dependencies

然后把所有动态版本号改成固定版本,避免后续自动更新导致冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:48:53