Java 使用gradlew和自定义JRE运行单元测试

Java 使用gradlew和自定义JRE运行单元测试,java,android,gradle,android-testing,gradlew,Java,Android,Gradle,Android Testing,Gradlew,我试图使用Gradle包装器运行我的项目的单元测试,以便将开发与Jenkins集成。问题是,我必须在Android-28的GUI中使用JRE选项运行测试,但由于一些限制,该项目是使用Android-26编译的 如何使用Gradle包装器选择JRE?是否有类似于: ./gradlew test --api 28 您可以创建用于测试的构建变量 e、 g.在你的应用程序级gradle文件中,添加一个产品,比如说jenkins buildTypes { release {...} debug

我试图使用Gradle包装器运行我的项目的单元测试,以便将开发与Jenkins集成。问题是,我必须在Android-28的GUI中使用JRE选项运行测试,但由于一些限制,该项目是使用Android-26编译的

如何使用Gradle包装器选择JRE?是否有类似于:

./gradlew test --api 28

您可以创建用于测试的构建变量

e、 g.在你的应用程序级gradle文件中,添加一个产品,比如说
jenkins

buildTypes {
  release {...}
  debug {...}
}

flavorDimensions "version"
productFlavors {
   jenkins {
      dimension "version"
      minSdkVersion 28 
      ... 
   }
}
然后打电话:

./gradlew testJenkinsDebugUnitTest
有关更多信息,请参考两种方法

  • HOME\u目录中
    gradle.properties
    gradle.properties
    中设置
    org.gradle.java.HOME=/path\u to\u jdk\u目录
  • 或:

  • 在您的
    build.gradle

    compileJava.options.fork = true
    compileJava.options.forkOptions.executable = /path_to_javac
    
  • 若你们不想依赖于具体的路径,那个么也许是第三种方法

    3.)如果在
    **gradle.properties**
    中添加JDK_路径,则构建将依赖于该特定路径。 而是使用以下命令行参数运行
    **gradle任务**

    gradle build -Dorg.gradle.java.home=/JDK_PATH
    

    这样,您的构建就不依赖于具体的路径。

    android-28
    不是Java运行时环境。它是用于编译的Android SDK版本。单元测试使用Java 7/8在您的计算机上运行。。。如果您的测试或测试下的类引用了您需要的Android SDK中的类。或者在模拟器中运行检测测试。你能重新表述一下你想做什么吗?