最近在准备集成华为AGC性能管理服务,跟着官方文档的操做步骤逐步集成的,最后打包运行的时候,运行日志里面有一段这个错误:java
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
截图以下:android
另一位同事在集成华为AppLinking服务的时候,恰好也碰到这错误。json
根据这个错误提示,我去检查了个人Demo工程里面的agconnect-services.json文件,诡异的事情发生了,json文件里面的ClientID是正常的啊。app
首先我去下载了官网的示例代码,而且替换成我本身的json文件,此时再去看run日志发现是没问题。说明我这个AGC的项目不存在云端问题。ide
而后,我打开刚刚从官网下载的Demo,把json里面的ClientiD干掉,从新打包运行,此时有两行错误日志,和上面的还不同。说明也不是这个问题。性能
接下来,我把整个官网下载的Demo项目,和我刚刚本身建立的项目对比,发现了问题:原来是我在应用级的 build.gradle文件中,没有添加agcp插件,也就是缺乏了这一句代码:fetch
我把官网下载的Demo,gradle文件中agcp插件这一行干掉,果真复现了这个问题。gradle
最后和华为技术支持沟通,了解了问题的根因:ui
Android项目编译的时候,gradle文件中的agcp插件会自动把json文件中的ClientID数据编译到resource路径下的String.xml文件里。spa
若是缺乏了agcp插件,项目里的SDK就没法这个正常获取到ClientID了。
最终的问题解决: 在应用级的build.gradle文件中,正确添加agcp插件
apply plugin: 'com.android.application' apply plugin: 'com.huawei.agconnect' apply plugin: 'com.huawei.agconnect.apms'
官网添加agcp步骤流程:
原文连接:https://developer.huawei.com/consumer/cn/forum/topic/0201402974555510177?fid=0101271690375130218做者:AppGallery Connect