新构建类型:如何为此包含androidTestCompile?

时间:2018-02-16 22:35:04

标签: java android gradle android-studio-3.0

我添加了一个名为“debug_test”的新构建类型,它与测试有一些BuildConfig差异。虽然当我切换到这种构建类型时我可以运行所有本地单元测试但是我无法运行检测测试,实际上我甚至无法在设置为“debug_test”时构建检测测试(不存在各种符号)。

对于我的新构建类型,:app:generateDebugAndroidTestSources等未执行。

调试运行:

Executing tasks: [:app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar]

而debug_test运行:

Executing tasks: [:app:generateDebug_testSources, :app:mockableAndroidJar]

我有点想要掌握我必须做的事情,主要是因为我不明白哪些操作是为调试而隐式完成的,我也需要为debug_test做。我是否需要在应用级build.gradle文件中明确定义与 generateDebugAndroidTestSources 的任务依赖关系?

提示赞赏。

1 个答案:

答案 0 :(得分:0)

这篇帖子Android instrumented unit testing Cannot resolve symbol 'AndroidJUnit4'有答案。

看起来您只能有一个检测测试配置。 本文件https://developer.android.com/studio/build/gradle-tips.html#change-the-test-build-type简要提到了这一点,但其含义并不明确。

您在应用程序的gradle文件中的Android配置如下所示:

android {
    ...
    defaultConfig {
        ...
    }

    testBuildType "debug" // This is not in the gradle file but this is implicitly set

    buildTypes {
        release {
            ...
        }

        debug {

        }

        debug_test {

            debuggable true
            signingConfig signingConfigs.debug
        }
    }
}

因此,要更改已编译检测测试的配置,必须将行testBuildType <my_config>添加到a​​ndroid配置集。

如果有办法看到所有这些隐含的选项,那将是非常好的。