【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

相关文章

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at