10

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

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

AS 2.0 测试版 2

我做错了什么?

4

1 回答 1

16

您正在尝试使用静态接口方法,这是 Java 8 中的一项新功能。直到Android N才支持它。有关更多信息,请参阅Android 指南中的使用 Java 8 语言功能。

暂时还是有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'
}
于 2016-05-26T08:18:49.657 回答