gpt4 book ai didi

android - 如果同一个 android 项目的两个 android 模块使用不同的支持库版本会怎样?

转载 作者:太空狗 更新时间:2023-10-29 16:32:11 26 4
gpt4 key购买 nike

我有一个包含两个模块的 android 项目。我已经将此应用发布到 Google Play。今天发现这两个模块在各自的gradle文件中使用了不同的support library版本依赖(在Google Play目前生产的版本中)。

在应用模块中使用不同的支持库版本会导致意外问题吗?

最佳答案

如果存在版本冲突,gradle 会自动选择可用的最高版本。想象一个包含库模块“mylibrary”的应用程序项目“app”。我已将“app”中的 compat lib 版本设置为 23.2.1,在“mylibrary”中将其设置为 23.2.0。 ./gradlew :app:dependencies 的输出显示最后选择了哪个:

_debugCompile - ## Internal use, do not manually configure ##
+--- com.android.support:appcompat-v7:23.2.1
| +--- com.android.support:support-v4:23.2.1
| | \--- com.android.support:support-annotations:23.2.1
| +--- com.android.support:animated-vector-drawable:23.2.1
| | \--- com.android.support:support-vector-drawable:23.2.1
| | \--- com.android.support:support-v4:23.2.1 (*)
| \--- com.android.support:support-vector-drawable:23.2.1 (*)
+--- com.android.support:recyclerview-v7:23.2.1
| +--- com.android.support:support-v4:23.2.1 (*)
| \--- com.android.support:support-annotations:23.2.1
+--- com.android.support:design:23.2.1
| +--- com.android.support:support-v4:23.2.1 (*)
| +--- com.android.support:appcompat-v7:23.2.1 (*)
| \--- com.android.support:recyclerview-v7:23.2.1 (*)
+--- com.android.support:percent:23.2.1
| \--- com.android.support:support-v4:23.2.1 (*)
\--- project :mylibrary
\--- com.android.support:appcompat-v7:23.2.0 -> 23.2.1 (*)

请注意最后一行,mylibrary 的兼容库从 23.2.0 升级到 23.2.1。对于具有相同组和名称组件的任何库,都会发生这种情况。

是的,像这样升级版本时可能会出现问题。如果库的更改版本与先前版本不向后兼容,则引用旧版本的代码可能会因缺少方法而无法编译。对于微版本和次版本更新,这通常不是问题,但对于主要版本更新来说可能是个问题。这完全取决于具体情况。

关于android - 如果同一个 android 项目的两个 android 模块使用不同的支持库版本会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36169015/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com