将项目导入 Android Studio 后,如果我想编译或运行该项目,则会引发错误:
错误:(61, 65) java: diamond 运算符在 -source 1.6 中不受支持
(使用 -source 7 或更高版本来启用 diamond 运算符)
有谁知道它是什么以及如何解决它?
将项目导入 Android Studio 后,如果我想编译或运行该项目,则会引发错误:
错误:(61, 65) java: diamond 运算符在 -source 1.6 中不受支持
(使用 -source 7 或更高版本来启用 diamond 运算符)
有谁知道它是什么以及如何解决它?
在 Intellij Idea 中,您需要设置项目语言级别(所有模块的默认设置)和模块语言级别。
文件-->项目结构--> 在项目设置下--> 选择项目-->项目语言级别--> 选择7 - Diamons, ARM, multi-catch etc.或8 - Lambdas, type annoationsetc。选项并单击应用
几天前,我深受其害。只需更新您的 buildToolsVersion如下所示。并升级您的SDK。
android {
compileSdkVersion 21
buildToolsVersion '21.1.2'
defaultConfig {
minSdkVersion 15
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
Diamond operator是 Jdk 7 的新特性之一。请确定您的 jdk 版本是否为 7。这是菱形运算符的示例。
这是一个赋值语句:
Map<String, List<String>> anagrams = new HashMap<String, List<String>>();
使用菱形运算符:
Map<String, List<String>> anagrams = new HashMap<>();
编辑
将其添加到您的build.gradle
..
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
minSdkVersion 14
targetSdkVersion 21
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
希望它对你有用。
使用 Android KitKat (buildToolsVersion 19),您可以使用菱形运算符、multi-catch、开关中的字符串、尝试使用资源等。为此,请将以下内容添加到您的构建文件中:
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 19
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
请注意,对于除 try with resources 之外的所有语言功能,您都可以使用值早于 19 的 minSdkVersion。如果您想对资源使用 try,您还需要使用 19 的 minSdkVersion。
您还需要确保 Gradle 使用的是 JDK 1.7 或更高版本。(以及 0.6.1 或更高版本的 Android Gradle 插件。)
http://tools.android.com/tech-docs/new-build-system/user-guide