gpt4 book ai didi

android - 使用 Spock 和 Java 8 运行 Android 应用程序的问题

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

这是我的设置。我有一个带有几个 Java(不是 Android)模块的 Android 项目。

最近我开始使用 Spock(这是一个基于 JUnit 和 Groovy 的测试框架)。

在 Java 模块上,我只需使用 groovy 插件,如下所示:

apply plugin: 'groovy'

然后包括这些依赖项:
dependencies {
testCompile 'org.spockframework:spock-core:1.0-groovy-2.4'
testCompile 'org.codehaus.groovy:groovy-all:2.4.6'
testCompile 'cglib:cglib-nodep:3.1'
testCompile 'org.objenesis:objenesis:2.2'
}

在我的主要 Android 应用程序上,我进行了此设置。在根项目上,我有这个类路径依赖项:
classpath 'org.codehaus.groovy:gradle-groovy-android-plugin:0.3.9'

在应用程序模块上我应用它:
apply plugin: 'groovyx.grooid.groovy-android'

并像这样配置:
androidGroovy {
options {
configure(groovyOptions) {
// used so groovy can do it's magic, I think, not 100% sure
javaAnnotationProcessing = true
}
}
skipJavaC = true // if disabled my CPU melts for some reason
}

我还通过在 Android 上使用 Jack 标志启用了 Java 8:
jackOptions {
enabled true
}

所有的测试都可以在 Spock 上完美运行(甚至是应用程序模块上的测试)。但是,当我尝试在设备或模拟器上运行该应用程序时,我会从 Android Studio 收到多个错误。错误发生在任务中: compileDebugGroovyWithJack它提示它无法从外部依赖项(包括支持库)中找到任何类:

enter image description here

有没有人遇到过这个问题?这是一个相当大的障碍:(

最佳答案

假设 JVM 测试的运行方式仍然与将 jack 添加到工具链之前的方式相同,那么这个“应该”工作。那就是 compileJava 仍然是一项任务,因为这是 groovy Android 插件所依赖的。

话虽如此,这不受支持,可能需要以不同的方式连接到新流程中。

关于android - 使用 Spock 和 Java 8 运行 Android 应用程序的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37265364/

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