使用 gradle 编译时出现 Invalid source release 1.7 错误

Posted

技术标签:

【中文标题】使用 gradle 编译时出现 Invalid source release 1.7 错误【英文标题】:Invalid source release 1.7 error when compiling with gradle 【发布时间】:2014-06-17 22:15:51 【问题描述】:

对于使用菱形运算符的库,我需要 1.7。

我关注了these sO 的回答……但没有快乐。

从 gradle 构建

    compileSdkVersion 19
buildToolsVersion '19.0.3'

compileOptions 
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7


defaultConfig 
    minSdkVersion 10
    targetSdkVersion 19
    versionCode 22
    versionName "1.3.1"

错误:任务“:MyApp:compileDefaultFlavorDebugJava”执行失败。

无效的源版本:1.7

Java 主页已设置:$ echo $JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home

【问题讨论】:

【参考方案1】:

检查您的 JVM 版本。它不应该是 1.6。

./gradlew --version
javac -version

在 OSX 上检查您的 $JAVA_HOME

echo $JAVA_HOME

您可以在~/.bash_profile JDK 中设置您的JAVA_HOME 环境变量:

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

【讨论】:

【参考方案2】:

转到项目结构->SDK 位置并确保将 JDK 位置设置为 JDK 的正确位置。设置 JAVA_HOME 将为命令行构建修复它,但在 android Studio 中它仍然失败,直到我修复此设置。

【讨论】:

【参考方案3】:

这里的答案要求您使用环境变量或 IDE 设置进行全局更改,如果您必须支持多个项目和 JVM,或者只是不想进行全局永久更改,这可能并不理想。

在 Gradle 中设置 JVM 版本的正确方法是在 gradle.properties 文件中添加属性设置。属性为org.gradle.java.home,值应为JDK或JRE安装根目录的路径。

【讨论】:

以上是关于使用 gradle 编译时出现 Invalid source release 1.7 错误的主要内容,如果未能解决你的问题,请参考以下文章

Gradle 同步失败:评估设置时出现问题

在 C 中使用 free() 时出现无效(中止)核心转储错误

GCM 注册时出现 INVALID_SENDER 错误

WPF 拖动时出现 Invalid FORMATETC structure

尝试使用 Discord 的 oauth2 时出现“invalid_grant”错误

尝试刷新 googleapis 的访问令牌时出现 invalid_grant 错误