为了让咱们开发者减小集成配置,在集成华为HMS SDK时,华为提供了agconnect-services.json文件,开发者须要按照指导获取该文件,并将文件部署到工程制定位置。agconnect-services.json文件内包含appid、cpid等AGC页面建立的各类项目信息。java
集成测试调用接口失败,日志有两个比较明显报错,一个是找不到appid以及cpid,还有一个是接口报错907135000。android
E/HMSSDK_AGCUtils: In getMetaDataAppId, Failed to read meta data for the AppID. E/HMSSDK_AGCUtils: Get client/app_id failed: java.io.FileNotFoundException: agconnect-services.json E/HMSSDK_AGCUtils: The client/app_id is null. E/SecurityResourcesReader: KEY is null return def directly I/HMSSDK_AGCUtils: In getMetaDataCpId, Failed to read meta data for the CpId. E/HMSSDK_AGCUtils: Get client/cp_id failed: java.io.FileNotFoundException: agconnect-services.json E/HMSSDK_AGCUtils: The client/cp_id is null. I/HMSSDK_HmsClient: receive msg status_code:1, error_code 907135000, api_name:core.getNoticeIntent, app_id:|, pkg_name:com.appservicetest.huawei, session_id:*, transaction_id:000000000Intent20201105190645844381286, resolution:null
从日志中能够看出agconnect-services.json文件没有集成成功,本身看官网资料以及和华为支持人员沟通,总结如下几个检查点:json
检查下应用级build.gradle中包名applicationId是否为agc页面配置的包名,区分大小写。api
buildscript { repositories { google() jcenter() maven {url 'https://developer.huawei.com/repo/'} } dependencies { ... classpath 'com.huawei.agconnect:agcp:1.4.1.300' } }
apply plugin: 'com.huawei.agconnect'bash
注意:该配置必须添加到apply plugin: 'com.android.application的下一行,不然会有问题。session
json文件仍部署到制定位置,而后在manifest中定义appid和cpid,配置以下信息app
<meta-data android:name="com.huawei.hms.client.appid" <!-- value的值“xxx”用实际申请的应用ID替换,来源于应用详情。--> android:value="appid=xxx"> </meta-data> <!-- value的值“xxx”用实际申请的开发者的支付ID替换,来源于应用的支付服务信息。--> <meta-data android:name="com.huawei.hms.client.cpid" android:value="cpid=xxx"> </meta-data>
cpid从agconnect-services.json查询maven
经过以上方式基本能够解决相似问题。ide
原文连接:
https://developer.huawei.com/consumer/cn/forum/topic/0204405821561130251?fid=18&pid=0304405821561130168
做者:Mayism测试