码迷,mamicode.com
首页 > 移动开发 > 详细

华为HMS Core集成测试报错找不到appid和cpid

时间:2021-01-11 10:34:26      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:效果   star   art   end   部署   csdn   现象   val   渠道   

问题背景:

为了让我们开发者减少集成配置,在集成华为HMS SDK时,华为提供了agconnect-services.json文件,开发者需要按照指导获取该文件,并将文件部署到工程制定位置。agconnect-services.json文件内包含appid、cpid等AGC页面创建的各种项目信息。

问题现象:

集成测试调用接口失败,日志有两个比较明显报错,一个是找不到appid以及cpid,还有一个是接口报错907135000。

日志报错:

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文件没有集成成功,自己看官网资料以及和华为支持人员沟通,总结以下几个检查点:

  1. “agconnect-services.json”文件要拷贝到应用级根目录下,如下图。

技术图片

  1. 检查下应用级build.gradle中包名applicationId是否为agc页面配置的包名,区分大小写。

  2. 检查下项目级“build.gradle”文件中在“buildscript > dependencies”中是否添加agcp配置。示例如下:

buildscript {
    repositories {
    google()
    jcenter()
    maven {url ‘https://developer.huawei.com/repo/‘}
}
 
dependencies {
    ...
    classpath ‘com.huawei.agconnect:agcp:1.4.1.300‘
}
}
  1. 检查应用级的“build.gradle”文件添加如下配置

apply plugin: ‘com.huawei.agconnect‘

注意:该配置必须添加到apply plugin: ‘com.android.application的下一行,否则会有问题

  1. 如果涉及多渠道发包,可能以上检查后仍然不能检查到appid和cpid,则可以使用以下“笨方法”起到相同效果。

json文件仍部署到制定位置,然后在manifest中定义appid和cpid,配置如下信息

<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查询

通过以上方式基本可以解决类似问题。


原文链接:
https://developer.huawei.com/consumer/cn/forum/topic/0204405821561130251?fid=18&pid=0304405821561130168
作者:Mayism

华为HMS Core集成测试报错找不到appid和cpid

标签:效果   star   art   end   部署   csdn   现象   val   渠道   

原文地址:https://www.cnblogs.com/developer-huawei/p/14246980.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!