【AGC】AppGallery Connect SDK遇到url is null问题分析

2023-10-23 21:10

本文主要是介绍【AGC】AppGallery Connect SDK遇到url is null问题分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【问题背景】

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读取到。可能是一下几种场景:

  1. 首先检查json文件中是否有url这个参数,这个参数的层级如下:

    cke_2415.png

如果发现json文件中没有url这个参数,则需要去agc管理台中为项目选择数据存储地后重新下载json文件。 

cke_4273.png

2.Json文件没有放在指定的位置,一般json文件需要放在Android项目应用级根目录下,AGCP插件会向此指定位置读取文件

3.既然AGCP被设定需要向指定位置读取文件,那么文件的名称也不能改变,必须为agconnect-services.json文件。

4.项目级build.gradle文件中需要添加agcp插件地址

cke_9078.png

5.在应用级build.gradle文件中应用相关插件

cke_12420.png

这里有一点需要注意的是agcp插件的引入需要在系统application之下,否则agcp插件的引入将不生效,也会导致url is null的情况。

 

 欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh

这篇关于【AGC】AppGallery Connect SDK遇到url is null问题分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/270442

相关文章

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

浅析Java中如何优雅地处理null值

《浅析Java中如何优雅地处理null值》这篇文章主要为大家详细介绍了如何结合Lambda表达式和Optional,让Java更优雅地处理null值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录场景 1:不为 null 则执行场景 2:不为 null 则返回,为 null 则返回特定值或抛出异常场景

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf