Android Studio 2.3.3,Java 8
我为Android 4.0 +创建Android应用
在我的 app / build.gradle :
中...
minSdkVersion 15
targetSdkVersion 26
我想使用默认接口实现(来自Java 8)。 所以我创建了tnext类:
public interface DefaultCallback {
public default void onResponse(Call<T> var1, Response<T> var2) {
}
}
但我收到编译错误:
默认方法要求API级别24(当前最小值为15)
所以问题是:
我可以在Android上使用deafult接口实现吗? API 24?
答案 0 :(得分:17)
根据您的minSdk版本,您可能需要将以下内容添加到您的应用或模块的build.gradle文件中:
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
有关详细信息,请参阅https://developer.android.com/studio/write/java8-support.html#supported_features
答案 1 :(得分:3)
没有
默认方法需要API级别24。
来自https://developer.android.com/guide/platform/j8-jack.html#supported-features:
Android不支持所有Java 8语言功能。然而 开发应用定位时,可以使用以下功能 Android 7.0(API级别24):
- 默认和静态接口方法
- Lambda表达式(也是 适用于API级别23及更低版本)
- 可重复注释
- 方法参考(也可在API级别23及更低版本上获得)
- 类型注释 (也可在API级别23及更低版本上使用)