最近在準備集成華爲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