【问题标题】:Which com.google.android.gms:play-services-ads version is compatible with com.android.support:appcompat-v7:27.1.1?哪个 com.google.android.gms:play-services-ads 版本与 com.android.support:appcompat-v7:27.1.1 兼容?
【发布时间】:2019-02-12 01:21:05
【问题描述】:

没有重复: 在我的问题中,我已经链接了一个类似于假定重复的答案并解释了为什么我不寻找这样的答案。

Android Studio 3.2.1 自动包含

implementation 'com.android.support:appcompat-v7:27.1.1'

我的新应用。我手动包含了

implementation 'com.google.android.gms:play-services-ads:17.1.1'

关注official guide

Google 的官方指南似乎已经过时,因为 Android Studio 立即建议使用 17.1.3 版本。

然而,在这两种情况下,appcompat-v7 下都有一条红线和一个工具提示警告我:

所有 com.android.support 库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。找到版本 27.1.1、26.1.0。

我确实得到了这里的一般问题,play-services-ads 传递依赖于某个支持库的旧版本。 This answer 建议简单地将有问题的库手动包含在正确的版本中。

但是,我不喜欢这个解决方案有两个原因:

  1. 我只是不想处理这样的问题。应该有可用于 google 库的兼容版本。

  2. 在未来的某个时候,我可能会忘记为什么要包含所有这些我什至不知道它们是做什么的库。我可能想更新 appcompat 和 play-services-ads 依赖项,而不再考虑所有这些。

17.1.3 版是目前最新版本的 play-services-ads 吗?这是否意味着播放服务广告普遍落后?如果是这样,我宁愿降级 appcompat-v7 而不是手动包含一些库版本。

对于 play-services-ads 版本 17.1.3,appcomat-v7 的正确版本是什么?或者更普遍地问:appcompat-v7 和 play-services-ads 的最新版本是哪些,可以轻松协同工作?

【问题讨论】:

  • 喜欢与否,这是处理冲突版本的方法 - 虽然它告诉您它取决于版本 26.1.0 - 这是您可能正在寻找的版本;如果您打算针对相同的过时版本进行构建。
  • 嗯,我想我已经说得很清楚了,这不是我正在寻找的那种解决方案。降级 appcompat-v7 怎么样?
  • 如果 play-services-ads 没有更新,我将不胜感激。
  • @user1785730,很好的观察,当我使用 gradle 和 google-paly-services 时,我也多次遇到这个问题,并尝试更新直到找到合适的解决方案。

标签: android google-play-services


【解决方案1】:

26.1.0 是 play-services-ads 17.1.* 的正确 appcompat-v7 版本。*

implementation 'com.android.support:appcompat-v7:26.1.0'

这还需要将compileSdkVersiontargetSdkVersion 设置为26。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-10
    • 1970-01-01
    • 2021-02-25
    • 2019-03-05
    • 2019-04-17
    相关资源
    最近更新 更多