gpt4 book ai didi

java - 如何管理多个 Android 库项目的公共(public)依赖项?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:22:01 24 4
gpt4 key购买 nike

我知道这个问题:How to add dependencies to project's top-level build.gradle file?

但它没有给出我需要的答案。

假设我的 android 项目有 3 个库模块 ABC。这三个都使用一个共同的依赖项,比如 D1,其中 D1 是像 DaggerRoom 等库。

现在,我没有将 D1 添加到所有三个,而是考虑将 D1 添加到项目级别 build.gradle

我试过做这样的事情,但它给出了错误:

在 org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler 类型的对象上找不到参数 [目录 'libs'] 的方法实现()。

buildscript {
ext.kotlin_version = '1.3.0'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

allprojects {
repositories {
google()
jcenter()
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.google.dagger:dagger-android-support:2.15'
implementation "com.google.dagger:dagger:2.16"
kapt "com.google.dagger:dagger-android-processor:2.16"
kapt "com.google.dagger:dagger-compiler:2.16"
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}

在项目级 build.gradle 中添加依赖项的正确方法是什么?

这是项目链接:https://github.com/cerberusv2px/android-modular

最佳答案

创建一个新的模块项目,例如common-libs,把你所有的常用依赖放到这个项目中,打开common-libs/build.gradle

改变

implementation fileTree(dir: 'libs', include: ['*.jar']) 

api fileTree(dir: 'libs', include: ['*.jar'])

然后对于所有依赖于上游的项目,只需调用

dependencies {
...
api project(':common-libs')
}

参见:https://developer.android.com/studio/build/dependencies#dependency_configurations

关于java - 如何管理多个 Android 库项目的公共(public)依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53475508/

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