作者:我爱你2602912303 | 来源:互联网 | 2024-10-08 16:07
1、问题描述一开始项目中是集成了华为登录SDK,如下图所示:现在想要接入华为推送SDK,如下图所示:结果集成之后出现了依赖冲突的问题,报错如下图中所示: 2、问题分析im
1、问题描述
一开始项目中是集成了华为登录SDK,如下图所示:
现在想要接入华为推送SDK,如下图所示:
结果集成之后出现了依赖冲突的问题,报错如下图中所示:
2、问题分析
implementation (name: 'hwid-2.6.3.306', ext: 'aar')
implementation (name: 'base-2.6.3.306', ext: 'aar')
上面的这个华为登录是很久之前的版本,现在2.x版本已经废弃了,所以跟新版的push sdk是没有办法互通的。如果您需要集成
implementation 'com.huawei.hms:push:6.3.0.304'版本,由于push和hwid都对base有依赖关系,因此老的aar版本是没有办法支持的。
3、解决方案
通过上面第二个步骤的分析,不难发现想要解决上面的依赖冲突是不行了,旧版和新版的api也是不匹配的,那我们只有升级hwid的版本了。
①、升级hwid版本
hwid和base这两个依赖包不要使用aar的方式引入,将这两个aar包删除,然后使用开发者联盟官网文档中的Maven仓的方式对新版本进行依赖,官网文档的链接如下:
https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/as-integration-hms-core-sdk-0000001050436235#section1339835185714
添加依赖的方式如下(push会自动引入base的版本,不需要单独添加):
通过上面的步骤,在gradle编译完成之后,我们查看安卓项目目录结构中的External Libraries,可以发现已经正常添加了账号和推送的依赖包:
②、更新api
在升级完SDK之后,还需要把项目中旧版本的相关功能的实现过程进行替换,参考文档如下所示:
https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/introduction-0000001050048870
可以参考文档中的相关登录接口进行登录:
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh