官方Java 8 announcement for Android N Preview说明如下:
使用Android的Jack编译器,您现在可以使用许多流行的Java 8 Android版本的语言功能,包括lambdas等 可以追溯到姜饼。 (...)一些Java 8语言功能 - 比如 默认和静态方法,流和功能接口 - 是 现在也可用于N及以上。
我使用以下gradle配置和minSdkVersion 15
在一个小项目中尝试使用Java 8:
android {
compileSdkVersion 'android-N'
buildToolsVersion '24.0.0 rc1'
defaultConfig {
applicationId "org.sergiiz.thermometer"
minSdkVersion 15
targetSdkVersion 'N'
versionCode 1
versionName "1.0"
jackOptions{
enabled true
}
}
compileOptions {
targetCompatibility 1.8
sourceCompatibility 1.8
}
//...
}
但部署目标选择器显示minSdk(API23, N preview)
。这是预期的行为吗?
是否有可用于Gingerbread的Java 8功能/软件包列表,您是否知道在API< 23上使用Java 8功能需要哪些gradle设置或支持库?
答案 0 :(得分:2)
但部署目标选择器显示minSdk(API23,N预览)。这是预期的行为吗?
是。 N Developer Preview设置为仅在N个设备上运行。您的targetSdkVersion 'N'
行隐含地将您的minSdkVersion
更改为N
。
您知道在API< 23上使用Java 8功能需要哪些gradle设置或支持库?
我建议你不要担心旧设备上的Java 8功能,直到Android N退出"开发者预览"模式或Android工具团队提供特定的非N指令。