有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在安卓 studio中,java Jdk版本会自动重置为1.7

我安装了Android Studio,Jdk 1.7和1.8都有。当我执行应用程序时,它给了我一个错误,它需要用Jdk 1.8运行。我要归档>>;项目结构,并将jdk versio的路径更改为jdk 1.8,但当我单击OK时,gradle同步将从jdk 1.7开始。现在,当我再次打开项目结构时,JDk版本再次重置为1.7

MyJAVA_HOME系统变量被设置为jdk 1.8路径。我卸载了Android Studio并重新安装了它,但没有任何效果


共 (1) 个答案

  1. # 1 楼答案

    在你的身材里。gradle还包括compileOptions标签,以强制JDK 1.8

    您还需要启用Jack编译器来利用Java8的特性

    android {
      ...
      defaultConfig {
        ...
        jackOptions {
          enabled true
        }
      }
      compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
      }
    }
    

    请参见谷歌关于Android上Java 8功能的页面:https://developer.android.com/preview/j8-jack.html

    另外,请记住,Jack编译器在java8下不支持某些功能。其中最大的(至少对我来说)是带有注释处理器的Transform API。如果您或您喜欢的库使用Transform API,那么您可以禁用Jack,并使用库获取一些Java 8功能,比如Retrolambda

    有关RetroLambda的详细信息,请参见此处:https://github.com/evant/gradle-retrolambda