sourceCompatibility 8与11的区别及取值影响,适配Android API21该如何设置?
目标API级别为21时,sourceCompatibility选8还是11?二者差异
选择建议
优先选Java 8,追求语法灵活性且能接受兼容成本的话可选用Java 11。
具体差异
选用Java 8
- 无需额外配置,完全兼容API 21+所有设备,不会出现API缺失或字节码兼容问题。
- 开发时只能使用Java 8及以下特性,语法灵活性不足。
选用Java 11
- 可使用
var等Java 11语法简化代码,但部分Java 11标准库API在API 21设备上不可用,需依赖desugar工具做兼容处理。 - 编译生成的Java 11字节码需经desugar转换才能在API 21设备上运行,会带来少量编译耗时和包体积增加,但整体影响可控。
Android Studio提示翻译
从Android Gradle插件7.4.0-alpha04版本开始,AGP采用JVM 11字节码进行编译。
内容的提问来源于stack exchange,提问作者devio
相关产品推荐
相关产品推荐

