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

多风味编译GMS/HMS包时AGC插件校验包名不匹配报错如何解决

报错原因

这个错误是AGC插件编译时默认读取全局agconnect-services.json文件校验包名导致的,你的全局配置文件里写的是HMS风味的包名com.dise.appge.hms,编译GMS风味时实际包名是com.dise.appge.gms,匹配失败就触发了报错。

解决方案

方案一:仅对HMS风味启用AGC插件(最推荐,适合GMS风味完全不需要HMS服务的场景)

  • 将存放在app模块根目录的agconnect-services.json移动到HMS风味的专属资源目录下,路径为app/src/{你的HMS风味名称}/agconnect-services.json,例如HMS风味命名为hms的话,路径就是app/src/hms/agconnect-services.json,GMS风味的目录下不要存放该配置文件。
  • 修改app模块的build.gradle文件,把原本全局引入的AGC插件改为仅HMS风味启用:
    替换原来的apply plugin: 'com.huawei.agconnect'代码为以下逻辑:
    android.productFlavors.all { flavor ->
        // 引号内替换为你自己的HMS风味实际名称
        if (flavor.name == "hms") {
            plugin.apply("com.huawei.agconnect")
        }
    }
    
    编译GMS风味时AGC插件不会运行,自然不会触发包名校验逻辑。

方案二:配置多套AGC配置文件(适合两个风味都需要接入HMS服务的场景)

  • 登录华为AGC后台,分别给两个风味的包名com.dise.appge.hms和com.dise.appge.gms创建对应应用,分别下载对应的agconnect-services.json配置文件。
  • 将HMS包名对应的配置文件放到app/src/hms/目录下,GMS包名对应的配置文件放到app/src/gms/目录下,不要在app模块根目录存放通用的agconnect-services.json文件,编译对应风味时会自动读取对应目录下的配置文件,不会出现包名匹配失败的问题。

临时调试规避方案(不推荐线上使用)

如果只是临时调试不想修改配置,可以在app模块的build.gradle中添加配置关闭AGC包名校验:

agc {
    config {
        verifyPackageName = false
    }
}

注意:该方案仅跳过包名校验步骤,不会解决配置不匹配导致的后续HMS服务初始化异常问题,仅可用于临时调试,禁止用于正式打包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 05:45:03