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

NativeScript安卓构建报错:多个同名包名库(com.google.android.gms.license)如何解决?

解决Android构建错误:more than one library with package name 'com.google.android.gms.license'

这个问题我之前帮不少开发者排查过,核心原因是你的项目里有多个依赖库(可能是直接引入的,也可能是第三方库间接带进来的)都包含了包名完全相同的com.google.android.gms.license模块,构建工具没办法区分,就会抛出这个冲突错误。哪怕你没手动更新过依赖,也可能因为Gradle的依赖解析逻辑或者间接依赖的版本变动触发这个问题。

下面是具体的修复步骤,按顺序来就行:

  • 第一步:定位重复依赖的来源
    先运行Gradle命令生成完整的依赖树,这样能精准找到哪个库引入了重复的license模块:

    # macOS/Linux
    ./gradlew app:dependencies
    # Windows
    gradlew.bat app:dependencies
    

    在输出结果里搜索com.google.android.gms.license,你会看到多个条目,每个条目对应一个引入它的上层依赖,注意看版本号是否不一致。

  • 第二步:移除重复的依赖
    找到冲突来源后,有两种处理方式:

    1. 单独排除重复模块:如果是某个第三方库间接引入了重复的license,就在app/build.gradle里给这个依赖添加exclude规则,比如:
      implementation('com.example.somelibrary:1.2.3') {
          exclude group: 'com.google.android.gms', module: 'license'
      }
      
    2. 统一Google服务库版本:如果是多个com.google.android.gms:play-services-*系列库版本不一致导致的,那把所有play-services相关依赖的版本号改成同一个,比如全部用17.0.0(根据你的项目实际适配合适的版本),这样就能避免不同版本带进来的license模块冲突。
  • 第三步:强制统一依赖版本(可选但高效)
    要是不想一个个排查依赖,也可以在项目根目录的build.gradle里添加全局强制规则,让所有com.google.android.gms相关的库都使用指定版本:

    allprojects {
        repositories {
            // 你的仓库配置,比如google()、mavenCentral()
        }
        configurations.all {
            resolutionStrategy {
                // 强制license模块使用指定版本
                force 'com.google.android.gms:play-services-license:17.0.0'
                // 也可以强制所有play-services核心库版本统一,更彻底
                // force 'com.google.android.gms:play-services-base:17.0.0',
                //        'com.google.android.gms:play-services-location:17.0.0'
            }
        }
    }
    
  • 第四步:清理并重新构建
    最后执行清理命令,再重新构建项目,确保缓存的旧依赖被清除:

    ./gradlew clean build
    

关于库是否会后台自动更新的问题

默认情况下,如果你在依赖里用了动态版本号(比如implementation 'com.google.android.gms:play-services-maps:+'或者17.+'),Gradle每次构建时都会检查并拉取最新的兼容版本,这就可能导致间接依赖的license模块版本变化,引发冲突。另外,Android Studio的自动下载SDK组件功能(在Settings里的"Appearance & Behavior > System Settings > Android SDK"里)会在后台更新SDK相关的库,但它不会主动修改你的项目依赖版本,除非你手动点击了"Update"按钮更新依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:50:52