集成华为AppGallery APM SDK时报错“miss client id”如何解决?
报错日志:
I/com.huawei.agc.apms: failed to fetch remote config: client token request miss client id, please check whether the 'agconnect-services.json' is configured correctly
排查处理步骤
1. 校验agconnect-services.json文件合法性
- 确认你下载的
agconnect-services.json是对应你当前应用的包名/应用ID的,不要混用不同项目、不同应用的配置文件 - 打开json文件,检查是否存在
client字段下的client_id参数,参数值不为空。如果没有该字段或者值为空,说明你在AppGallery Connect后台创建应用时配置不完整,需要回到AGC后台重新下载配置文件 - 确认你把
agconnect-services.json放到了Android项目的app模块根目录(和模块级build.gradle同层级),不要放到根项目目录或者其他子模块目录下
2. 校验AGC插件配置
- 检查项目级build.gradle是否正确添加了AGC插件依赖,示例配置:
buildscript { repositories { maven { url 'https://developer.huawei.com/repo/' } } dependencies { // AGC插件版本建议使用1.9.0及以上稳定版 classpath 'com.huawei.agconnect:agcp:1.9.1.301' } }
- 检查app模块级build.gradle头部是否正确引用了AGC插件,注意必须放在
com.android.application插件之后:
plugins { id 'com.android.application' // 必须添加在application插件声明之后 id 'com.huawei.agconnect' }
- 确认你已经在AppGallery Connect后台对应应用的菜单下,手动开通了APM服务,未开通服务的情况下配置文件不会生成对应参数
3. 清理缓存与校验打包配置
- 清理项目构建缓存:执行Android Studio菜单栏
Build > Clean Project,再执行Rebuild Project后重新运行测试 - 如果你使用了构建变种(flavor),确认你针对不同变种的包名分别配置了对应的
agconnect-services.json,或者将配置文件放在对应变种的专属资源目录下 - 如果你开启了资源混淆、打包裁剪功能,需要将AGC配置相关的资源字段加入白名单,避免
client_id参数被裁剪失效
内容的提问来源于stack exchange,提问作者DevWithZachary
相关产品推荐
相关产品推荐

