【问题背景】
AppGallery Connect(简称AGC)致力于为应用的创意、开发、分发、运营、经营各环节提供一站式服务,构建全场景智慧化的应用生态体验。其中开发环节提供了很多实用的服务,这些服务也支持了很多的平台,包括Android,iOS, Web等等。最近在Android应用中使用AGC的服务时会遇到如下的问题
java.security.InvalidParameterException: url is null
at com.huawei.agconnect.credential.obs.n.a(Unknown Source:42)
at com.huawei.agconnect.common.api.Backend.call(Unknown Source:17)
at com.huawei.agconnect.credential.obs.o.a(Unknown Source:283)
at com.huawei.agconnect.common.api.BackendService.sendRequest(Unknown Source:0)
at com.huawei.agconnect.auth.internal.b.a.a(Unknown Source:20)
at com.huawei.agconnect.auth.internal.b.a.a(Unknown Source:1)
at com.huawei.agconnect.auth.internal.a.a(Unknown Source:24)
此问题会出现在多个不同的服务中,导致请求全部都异常了。
【解决方法】
此问题得原因出在一个AGCP插件上,我们在开发AGC的服务时需要从AGC的管理台中下载一个agconnect-services.json文件,文件中包含了应用所需要的很多参数,其中就包括了url这个参数。然后我们需要接入AGCP的插件去读取json文件中的内容。而报了url is null的错误就说明url这个参数没有被AGCP读取到。可能是一下几种场景:
-
首先检查json文件中是否有url这个参数,这个参数的层级如下:
如果发现json文件中没有url这个参数,则需要去agc管理台中为项目选择数据存储地后重新下载json文件。
2.Json文件没有放在指定的位置,一般json文件需要放在Android项目应用级根目录下,AGCP插件会向此指定位置读取文件
3.既然AGCP被设定需要向指定位置读取文件,那么文件的名称也不能改变,必须为agconnect-services.json文件。
4.项目级build.gradle文件中需要添加agcp插件地址
5.在应用级build.gradle文件中应用相关插件
这里有一点需要注意的是agcp插件的引入需要在系统application之下,否则agcp插件的引入将不生效,也会导致url is null的情况。
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh
标签:文件,插件,AppGallery,url,AGC,huawei,com,agconnect From: https://www.cnblogs.com/developer-huawei/p/16598347.html