热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

安卓集成新版推送SDK与旧版本账号SDK发生依赖冲突,如何解决?

​ 1、问题描述一开始项目中是集成了华为登录SDK,如下图所示:​现在想要接入华为推送SDK,如下图所示:​结果集成之后出现了依赖冲突的问题,报错如下图中所示:​ 2、问题分析im

​ 1、问题描述

一开始项目中是集成了华为登录SDK,如下图所示:

cke_300.png

现在想要接入华为推送SDK,如下图所示:

cke_626.png

结果集成之后出现了依赖冲突的问题,报错如下图中所示:

cke_1011.png

 


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的版本,不需要单独添加):

cke_3021.png

通过上面的步骤,在gradle编译完成之后,我们查看安卓项目目录结构中的External Libraries,可以发现已经正常添加了账号和推送的依赖包:

cke_4478.png

②、更新api

在升级完SDK之后,还需要把项目中旧版本的相关功能的实现过程进行替换,参考文档如下所示:

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/introduction-0000001050048870

可以参考文档中的相关登录接口进行登录:

cke_6155.png

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



推荐阅读
author-avatar
我爱你2602912303
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有