R8: Invoke-customs are only supported starting with Android O (--min-api 26)

482 阅读1分钟

遇到问题:

编译打包时,报如下错误:

  1. R8: Invoke-customs are only supported starting with Android O (--min-api 26)
  2. com.android.tools.r8.CompilationFailedException: Compilation failed to complie

问题排查:

根原因是问题1引起的,由于引入的库中代码包含了Java8中的新特性,比如使用了Lambda 表达式、Stream API、默认方法(默认方法就是一个在接口里面有了一个实现的方法)等。

问题解决:

在app module层级build.gradle文件中的 android节点下添加如下代码为项目提供Java8语法支持:

compileOptions {
	sourceCompatibility JavaVersion.VERSION_1_8
	targetCompatibility JavaVersion.VERSION_1_8
}