以下代码产生了错误 “此语言级别不支持扩展方法” 在android studio中:
public interface Test {
static String Test2(String A) {
return "";
}
}
AS 2.0 Beta 2
我做错了什么?
答案 0 :(得分:13)
您尝试使用static interface method,这是Java 8中的新功能。 在Android N之前,Android不支持此功能。有关详细信息,请参阅Android指南的Use Java 8 Language Features。
暂时还有BUG。
您必须按照上述说明使用Java 8进行编译。
这是build.gradle
的一个例子:
apply plugin: 'com.android.application'
android {
compileSdkVersion 'android-N'
buildToolsVersion "24.0.0-rc3"
defaultConfig {
applicationId "example.com.examplejdk8"
minSdkVersion 24
targetSdkVersion 'N'
versionCode 1
versionName "1.0"
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.0.0-alpha2'
compile 'com.android.support:design:24.0.0-alpha2'
}