2

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

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

4

1 回答 1

0

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

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

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

如果你真的想用 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
}
于 2013-03-21T17:40:50.700 回答