如何在Android Studio和Gradle中设置-source 1.7

sim*_*dam 177 java intellij-idea gradle java-7 android-studio

尝试在Android Studio中编译项目时出现以下错误:

Gradle: error: diamond operator is not supported in -source 1.6
Run Code Online (Sandbox Code Playgroud)

在我找到的所有项目偏好中,我已将1.7设置为目标.项目SDK中1.7 SDK下显示的路径也是java 1.7安装的正确路径.

即使我在终端中运行java -version,它也告诉我我正在运行java 1.7.

我试图将JAVA_HOME env变量设置为:

/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)

错误不会消失.如何消除错误?

Ser*_*kyi 287

在构建工具19中添加了Java 7支持.您现在可以使用诸如菱形运算符,多捕获,资源尝试,交换机中的字符串等功能.将以下内容添加到您的build.gradle.

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 19
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}
Run Code Online (Sandbox Code Playgroud)

Gradle 1.7+,Android gradle插件0.6.+是必需的.

请注意,仅尝试使用资源需要minSdkVersion19.其他功能适用于以前的平台.

链接到android gradle插件用户指南

链接以查看源与目标的不同之处

  • 请注意,try-with-resources只能与API 19或更高版本一起使用. (10认同)
  • woohoo for string switches! (7认同)

Sim*_*mon 73

也许这些答案都是旧的,但是对于新的Android Studios 1,您可以执行以下操作以查看在1.7上运行的模块(如果您愿意,可以使用1.6).单击文件 - >项目结构.选择要运行的模块,然后在"源兼容性"和"目标兼容性"下,选择1.7.单击"确定".

Android Studios的Project Structure屏幕1

  • 我想这是最新android-studio的正确答案.希望我能使这也是一个正确答案.. (5认同)

San*_*San 14

你可以在新的Android工作室版本(0.8.X)中更改它

文件 - >其他设置 - >默认设置 - >编译器(通过单击左箭头展开) - > Java编译器 - >您可以在此处更改项目字节码版本

在此输入图像描述


Ely*_*lye 8

最新的Android Studio 1.4.

单击文件 - >项目结构 - > SDK位置 - > JDK位置.

您还可以通过转到模块(SDK位置下方)来设置单个模块JDK版本兼容性,并相应地编辑源兼容性.(注意,这仅适用于Android模块).


小智 5

右键单击项目>打开模块设置>在"项目设置"部分中选择"项目"

将Project SDK更改为最新版本(可能是API 21),将项目语言级别更改为7+