如何在Android Studio和Gradle中设置源1.7

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

Gradle: error: diamond operator is not supported in -source 1.6 

在我find的所有项目偏好中,我有1.7个目标。 此外,在项目SDK的1.7 SDK下显示的path是正确的pathJava 1.7安装。

即使我在terminal运行java -version,它告诉我我在java 1.7上运行。

我曾尝试将JAVA_HOME envvariables设置为:

 /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home 

错误不会消失。 我如何消除错误?

在构build工具19中添加了Java 7支持。现在可以使用菱形运算符,多重捕获,资源尝试,交换机中的string等function。将以下内容添加到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 } } 

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

请注意,只有使用资源需要minSdkVersion 19.其他function在以前的平台上工作。

链接到Android Gradle插件用户指南

链接,看看如何来源与目标是不同的

也许这些答案以上是旧的,但新的Android Studios 1,你做了以下看到模块运行在1.7(或1.6,如果你喜欢)。 点击文件 – >项目结构。 select要运行的模块,然后在“源兼容性”和“目标兼容性”下select1.7。 点击“确定”。

Android Studios项目结构屏幕1

你可以在新的Android Studio版本(0.8.X)

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

在这里输入图像说明

最新的Android Studio 1.4。

单击文件 – >项目结构 – > SDK位置 – > JDK位置。

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

右键单击您的项目>打开模块设置>在“项目设置”部分select“项目”

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

目前,Android不支持Java 7,仅支持Java 6.因此,Java 7中的新function(如钻石语法)目前不受支持。 find支持这一点的源代码并不容易,但是我可以发现Dalvic引擎是build立在Apache Harmony的一个子集之上的,它只支持到版本6以前的Java。如果你检查开发Android应用程序的系统需求 ,至less需要JDK 6(虽然这当然不是真正的certificate,只是一个迹象)。 这和我说的差不多。 如果我find更多的财务,我会添加它。

编辑:看来Java 7的支持已被添加,因为我最初写这个答案; 请查看Sergii Pechenizkyi的答案。

始终使用最新的SDK版本来构build:

 compileSdkVersion 23 

它不影响运行时的行为 ,但给你最新的编程function。

进入您的Gradle并寻找sourceCompatibility并将其从1.6更改为7 。 这对我来说至less工作。

您也可以进入您的模块设置并将源/目标兼容性设置为1.7。

模块设置窗口

这将在您的Gradle中产生以下代码:

 compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 }