Android Studio:此语言级别不支持扩展方法

时间:2016-02-07 22:07:02

标签: android-studio-2.0

以下代码产生了错误 “此语言级别不支持扩展方法” 在android studio中:

public interface Test {
 static String Test2(String A) {
    return "";
    }
}

AS 2.0 Beta 2

我做错了什么?

1 个答案:

答案 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'
}