gpt4 book ai didi

android - 如何使用 gradle 对库进行依赖注入(inject)?

转载 作者:行者123 更新时间:2023-12-03 03:36:12 25 4
gpt4 key购买 nike

我们正在开发一个依赖于一些 Java 库的 Android 项目。出于测试目的,我们希望能够使用包含不同 jar 的 stub 变体。
如何用 gradle 做到这一点?

我一直在尝试一些有味道的东西,但现在只 build 了“味道”,而不是正常的 build ......

最佳答案

使用像 Google Guice 这样的轻量级 DI 容器可能比尝试使用构建系统执行此操作更好。

https://code.google.com/p/google-guice/

您可以定义一个测试模块和一个生产模块,将项目分别绑定(bind)到测试和生产类。

如果你真的想用 gradle 来做,我想不出一个很好的方法来做到这一点。一种方法是定义一个新配置(称为 testAndroid),并从中排除所有生产 jar,并用测试 jar 替换它们。然后你仍然可以使用java插件来构建它。您可以定义一个新的归档文件,该归档文件将在运行 uploadArchives 时发布测试 jar。这是一个突出的例子:

configurations{
testAndroid extendsFrom compile
testAndroid.exclude(group: 'my.company.production')
}

dependencies{
compile group: 'my.company.production', name: 'prod-jar', version: '1.0'
testAndroid group: 'my.company.test', name: 'test-jar', version: '1.0'
}

task testJar(type: Jar){
//build the jar
}

artifacts{
archives testJar
}

关于android - 如何使用 gradle 对库进行依赖注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15497843/

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