如何将Java 9添加到Android Studio?

lztngnrs  于 2022-10-30  发布在  Java
关注(0)|答案(5)|浏览(236)

我正在使用Robolectric库,它的最新版本v4.3.1需要Java 9才能运行。我试图将JRE指向编辑配置,但我在下拉列表中找不到Java 9,即使我已经安装了它。如果有人能解释一下,这将非常有帮助!

请检查是否已安装Java 9。

mlmc2os5

mlmc2os51#

在Android Studio中运行Robolectric测试的唯一解决方案是更改测试任务的JRE。
选择IDE菜单Run -〉Edit Configuration,然后将选项从图片更改为JDK 9的位置:

1mrurvl1

1mrurvl12#

测试可以在以前的版本上运行,作为临时解决方案

您目前无法在SDK 29上运行Robolectric(2020年4月27日),但将来可能会更新。目前,正如我前面的所有答案所指出的,Android Studio中不支持Java 9或更高版本。
但是,如果您在这里运行Robolectic测试,您可以通过为类设置Robolectric @Config注解来避免SDK 29。Robolectric将针对应用的所有受支持SDK版本(29除外)运行您的测试。

实施

设置要在其上运行的maxSdkminSdk版本。这可以基于应用的最低和最高SDK版本,也可以设置为如下所示的一个版本,以便加快测试速度。

import androidx.test.ext.junit.runners.AndroidJUnit4
import org.robolectric.annotation.Config
import org.junit.runner.RunWith
import android.os.Build

@RunWith(AndroidJUnit4::class)
@Config(maxSdk = Build.VERSION_CODES.P, minSdk = Build.VERSION_CODES.P) // Value of Build.VERSION_CODES.P is 28
class TestClass {
...
}

当然,这只是另一个“丑陋”的补丁,但它会让你继续下去,直到你能够对所有想要的SDK运行测试,或至少SDK 29和所有以下的。

e4yzc0pl

e4yzc0pl3#

到目前为止,Android还不支持Java 9。根据documentation,Android支持Java 7的所有功能和Java 8的部分功能。
在开发Android应用时,使用Java 8语言功能是可选的。您可以将项目的源代码和目标代码兼容性值设置为Java 7,但仍需要使用JDK 8进行编译。

bfhwhh0e

bfhwhh0e4#

我不保证它会工作,但您可以将JDK设置为任何版本,从项目结构选项文件〉项目结构〉SDK位置〉'更改JDK位置在这里'

对不起,但它也不工作,我曾尝试选择JDK9,但我得到这样的提示

envsm3lx

envsm3lx5#

你不能使用Java 9,Android只支持直到Java 8.
您应该使用Android Studio自带的JDK版本,无需单独使用JDK。当前JDK版本基于OpenJDK 8。

相关问题