gpt4 book ai didi

android - 如何在不重复自己的情况下在子项目中拥有相同的依赖关系?

转载 作者:行者123 更新时间:2023-12-03 04:59:27 26 4
gpt4 key购买 nike

我有一个使用 gradle 设置的 Android 项目,包括:

1.) 两个子项目(构建略有不同的应用程序的 Android Studio 模块),具有自己的 build.gradle 文件。



2.) 一个共享通用代码的“库项目”。

目前,两个子项目的 build.gradle 文件的“依赖” block 有一堆相同的行(违反了“不要重复自己”的原则。):

dependencies {
....
implementation rootProject.ext.timber
implementation rootProject.ext.glide
....
}

这些行引用项目设置根目录中文件“dependencies.gradle”中的定义。
ext {
timber = 'com.jakewharton.timber:timber:4.7.0'
glide = 'com.github.bumptech.glide:glide:4.6.1'
....
}

(“实现 foo”行的列表比本示例中的要长得多。)

现在我的问题:
在一个地方定义这些依赖关系的最佳方法是什么?或者,避免在所有地方重复这些操作的最佳方法是什么(例如,如果我有不止两个模块共享一些相同的依赖项)。

最佳答案

我有点理解你在问什么,但是……如果你不共享,“通用、共享代码”有什么意义,例如 Glide? :)
事实上,如果您使用的是 Gradle 3.+,那么您必须更改 implementationapi
因此,在您的公共(public)库/代码中:

dependencies {
....
api rootProject.ext.timber
api rootProject.ext.glide
....
}

如果您想了解更多信息,请查看 the official docs对于 gradle 迁移(他们在其中引入了所有这些新事物)。

你会发现:
  • implementation 'example.dependency:1.0.0’ --> 只在这个模块中使用。
  • api 'example.dependency:1.0.0’ --> 也可用于依赖于模块的任何构建。
  • 关于android - 如何在不重复自己的情况下在子项目中拥有相同的依赖关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50179626/

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