Android切换到gradle不编译JRE7代码功能

Android切换到gradle不编译JRE7代码功能,第1张

概述我将我的 Android应用程序移到了Android Studio而没有切换到Gradle.现在我想搬到Gradle.该应用程序在切换到Gradle之前在Android Studio中编译,但现在我已经设置了Gradle,它将不会编译String Switch语句或菱形运算符.我得到的错误是 Gradle: error: strings in switch are not supported in 我将我的 Android应用程序移到了AndroID Studio而没有切换到Gradle.现在我想搬到Gradle.该应用程序在切换到Gradle之前在AndroID Studio中编译,但现在我已经设置了Gradle,它将不会编译String Switch语句或菱形运算符.我得到的错误是
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代码功能所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1141078.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存