问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

疑难杂症记录3:广告模块以及三方sdk同步升级androidx问题

发布网友 发布时间:2022-12-05 06:25

我来回答

1个回答

热心网友 时间:2024-04-24 11:21

广告模块引入了很多三方sdk,这里的问题体现在google的admob上,期望是将admob升级到18.3.0版本,结果主工程中由于引入了firebase,具体来讲就是admob和firebase都引入了google的基础服务gms,但版本没统一导致了Duplicate class的错误。

期望将admob升级到18.3.0版本
com.google.android.gms:play-services-ads:18.3.0 这个版本里面使用了
com.google.android.gms:play-services-measurement-base:17.1.0

我们项目中还使用了两个google的服务框架,分别如下(已是最高版本了):
com.google.android.gms:play-services-gcm:17.0.0
com.google.firebase:firebase-core:17.0.0

这两个包里面使用了com.google.android.gms:play-services-measurement-base:17.0.0,导致工程现在编译时报错:Duplicate class com.google.android.gms.internal.measurement.zzio found in modules classes.jar (com.google.android.gms:play-services-measurement-base:17.1.0) and classes.jar (com.google.android.gms:play-services-measurement:17.0.0)

解决方法:将admob18.3.0降到18.0.0,因为这个版本里面是play-services-measurement-base:17.0.0

上面已经定调了admob使用18.0.0,内部的play-services-measurement-base是17.0.0,更内部的firebase-iid是19.0.0。这个依赖是确定下来的了。

而在主工程中报错日志如下:
In project 'app' a resolved Google Play services library dependency depends on another at an exact version (e.g. "[17.0.4]", but isn't being resolved to that version. Behavior exhibited by the library will be unknown.

Dependency failing: com.google.firebase:firebase-messaging:17.3.4 -> com.google.firebase:firebase-iid@[17.0.4] , but firebase-iid version was 19.0.0.

日志中说的也很清楚了,要将firebase-iid 17.0.4 升级到 19.0.0。下面要解决的问题是将com.google.firebase:firebase-messaging:17.3.4这个升级到内部依赖了firebase-iid version19.0.0的版本,通过在 https://mvnrepository.com/ 上查询搜索关键词:firebase-messaging,定位到firebase-messaging:19.0.0内部依赖了firebase-iid version19.0.0,那么在主工程中将firebase-messaging升级到19.0.0就将问题解决了。

说实话,google下面的各类服务框架包纷繁复杂,版本又不统一,在同时引入多个google的服务框架时势必会遇到这种问题,那么后续解决该类问题的思路是怎样呢? 总的思路是:先定一个核心服务的目标版本,然后其他服务适配该核心服务版本。 比如确定了要将admob升级到18.3.0,那么非核心的服务就需要将其内部依赖的paly-service-base保持一致,基本上就不出现Duplicate class的问题。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
干货| 手把手教你搭建一套OpenStack云平台 口碑最好的切菜刀 什么材质的菜刀最好用 菜刀的种类和用途 张九龄三首古诗词赏析(风格清淡,语言素练) word文字底纹颜色怎么设置在哪 东施效颦这则语言告诉人们一个怎样的道理,欲意又是什么呢 胜芳买房多少钱 胜芳谁最有钱 315儿童智能手表是哪个牌子 孕囊看男女准不准 中国能建电子采购平台是什么 mp4充电器功率 2016款速派前后轮胎规格、尺寸各是什么? 16款速派比是18款质量好 刺生上面放那种鱼仔比较不腥 怎么看mp4的充电器是原装的? 2016款速派330通病 不管炖什么鱼,去腥别只会放料酒,多放这2样,鱼肉鲜香没腥味 CDR如何将字体弯曲 极品飞车需要准备什么材料 这是开国大典那一课的课后题。请把全部题的答案告诉我。学霸帮帮我... 开国大典的那个夜晚中唠起嗑来的意思是什么 华为p20屏幕录像无声音怎么回事 全国前十名电动车品牌 人生就是一道道选择题 你没错,人生这道选择题,无论怎么选都会有遗憾 余华:人生这道选择题,怎么选都会有遗憾。 人生这道题怎么选都会有遗憾出自哪里 开封市驾校考科目三要交预约费一千元合法吗 开封摩托车考试驾照,科目2和科目3考试什么? 急。。。 小米笔记本的安全模式不能关闭 怎么叠青蛙 一步一步会跳的 为什么我一生气就想哭,一烦恼就想哭,甚至于跟别人讲述都想哭 手三里的位置按摩手法及作用 健脾助运、通筋活络 tplink路由器无法升级怎么办 ...请问是真的吗??还有就是那是中国好歌曲上的哪 黄家驹2014参加中国好声音又是怎么回事 中国好歌曲,黄家驹那期怎么回事?什么时间的 自我介绍——三个标签 三个标签 用三个标签打造自己的个人品牌 想让别人认识你,三个标签就够了——20181014线下读书会 刘润独家:针对流量与复购难题,有赞的新零售思考 气泡水机怎么充气 吉林ip:111.26.*.*是哪啊 抖音正版金币挂件怎么关闭 梦见起火有什么寓意 幼儿园后勤管理工作如何做好 富士施乐268怎么开机 视频怎么转换格式?