AndroidStudio中使用Java8

QuibblerQuibbler 2020-02-13 约 2 分钟 1661 次阅读

AndroidStudio使用java8

为了在开发中使用Java新特性,诸如Lambda表达式、函数引用,比如最新的一些依赖库都用到了Lambda语法,如果不修改Java编译的选项就无法成功编译。需要在工程的build.gradle文件中添加如下配置:

android {
        ... ...
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    }

· 如果只使用Java8中的lambda表达式及函数引用,重复注解功能,对项目的编译版本是没有任何限制的

· 使用Java8的Stream流,Function等API,需要minSdkVersion 24 或以上

· 特殊API MethodHandle.invoke 或 MethodHandle.invokeExact,则需指定 minSdkVersion 26 或以上

相关推荐

精选
获取系统SDK版本、判断手机ROM
Code

获取系统SDK版本、判断手机ROM

Build获取系统SDK版本Android中部分API的使用,需要在特定的SDK版本之后才能使用,因此在兼容老版本SDK的时候,经常需要判断API的版本。各种Android版本的对应关系参考《Android各版本对应的SDK版本》判断手机ROM有时候需要判断手机系统的ROM,检测ROM是MIUI、EMUI还是Flyme,可以使用getprop命令,去系统build.prop文件(关于build.p

3.7k
精选
AndroidStudio中各种中文乱码问题
Code

AndroidStudio中各种中文乱码问题

AndroidStudio中各种中文乱码问题1、编译Java错误信息乱码在出现这个Annotation processors must be explicitly declared now...问题的时候,正好也发现AndroidStudio Build Output错误信息都乱码。经常遇到各种问题,习惯了,现在遇到的问题,都是以后的答案。 1.1、修改项目build.gradle(无效)在整个p

2.4k
AndroidStudio 报错:has no declaration in the base values folder
Code

AndroidStudio 报错:has no declaration in the base values folder

在资源文件中正常定义的值,也能编译运行。昨天还正常,今天一打开就报错。应该又是AndroidStudio自身的Bug了。原因众说纷纭,参考Stack Overflow 一篇类似的讨论。解决:File => Invalidate Caches / Restart => Invalidate and Restart.

4.4k