我需要一个使用菱形运算符的库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 Home设置:$ echo $JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
4条答案
按热度按时间3xiyfsfu1#
检查你的JVM版本。它不应该是1.6。
在OSX上检查您的
$JAVA_HOME
您可以在
~/.bash_profile
JDK中设置JAVA_HOME
环境变量:/Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/
pdsfdshx2#
进入项目结构-〉SDK位置,确保JDK位置设置为JDK的正确位置。设置JAVA_HOME将在命令行构建中修复它,但在Android Studio中,它仍然失败,直到我修复了这个设置。
cyvaqqii3#
这里的答案要求您使用环境变量或IDE设置进行全局更改,如果您必须支持多个项目和JVM,或者只是不想进行全局永久更改,那么这可能并不理想。
在Gradle中设置JVM版本的正确方法是在www.example.com文件中添加一个属性设置gradle.properties。该属性为
org.gradle.java.home
,值应该是JDK或JRE安装的根目录的路径。e37o9pze4#
解决此问题的一种更独立于系统的方法是使用Gradle的toolchains。当指定工具链时,Gradle将搜索常见的系统位置和您为匹配指定Java版本的JRE/JDK配置的位置。对于 * 1.7之后的Java * 版本,Gradle将下载所需的JDK,如果无法在本地找到(除非已手动禁用自动配置)。
如果安装了Java 1.7,则
build.gradle
的以下添加应可解决此问题:如果JDK/JRE安装在Gradle未搜索的位置,则任何Gradle项目任务都会出现错误
No locally installed toolchains match
。要解决此问题,应更新gradle.properties(在GRADLE_USER_HOME
中)以包含JDK/JRE的位置。