Gradle: error: strings in switch are not supported in -source 1.6(use -source 7 or higher to enable strings in switch)
我通过打印确保我在JRE 7上运行
System.getProperty("java.version")
在一项任务中.输出是
1.7.0_25
让我最困惑的是“-source 1.6”和“use -source 7”之间的差异.但是我知道这两个都是Java sdk的名字所以也许标题只是混淆了.
我需要设置Gradle设置吗?或者这在Gradle中是不可能的?如果不是,那么为什么没有Gradle就可以解决这个问题.
应该注意的是,我的项目的无Gradle版本运行默认的AndroID Studio版本.我没有写一个ant脚本或maven脚本来构建它.其中一个可能是它的构建方式,但我没有任何项目特定的文件.只是AndroID Studio .iml文件.
UPDATE
我尝试将以下内容添加到build.gradle androID {}部分
compileOptions { sourceCompatibility = org.gradle.API.JavaVersion.VERSION_1_7 targetCompatibility = org.gradle.API.JavaVersion.VERSION_1_7}
但.class文件无法构建,它不包含在apk中.请参阅this post上的“使用Java 1.6编译的AndroID项目需要库”部分
解决方法 您可以通过在build.gradle的androID部分添加以下内容,将现有的AndroID应用程序/库模块升级到Java 7:compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7}
对于Java(非androID)模块,您应该在应用插件后添加以下内容到build.gradle:’java’:
sourceCompatibility = 1.7targetCompatibility = 1.7
对于这两种类型的模块,您需要在file – >中手动更改项目的语言级别.项目结构 – >项目(或者您可以手动编辑.IDea / misc.xml中的配置,从JDK_1_6到JDK_1_7).
您可能还需要在< component name =“CompilerConfiguration”>中将以下内容添加到.IDea / compiler.xml中.阻止(但看看你如何先没有它):
<bytecodeTargetLevel target="1.7" />总结
以上是内存溢出为你收集整理的Android切换到gradle不编译JRE7代码功能全部内容,希望文章能够帮你解决Android切换到gradle不编译JRE7代码功能所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)