華爲HMS Core集成測試報錯找不到appid和cpid

問題背景:

爲了讓咱們開發者減小集成配置,在集成華爲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

  1. 「agconnect-services.json」文件要拷貝到應用級根目錄下,以下圖。

在這裏插入圖片描述

  1. 檢查下應用級build.gradle中包名applicationId是否爲agc頁面配置的包名,區分大小寫。api

  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'bash

注意:該配置必須添加到apply plugin: 'com.android.application的下一行,不然會有問題session

  1. 若是涉及多渠道發包,可能以上檢查後仍然不能檢查到appid和cpid,則能夠使用如下「笨方法」起到相同效果。

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測試

相關文章
相關標籤/搜索