Android 目录:https://blog.youkuaiyun.com/dkbnull/article/details/87932847
开发安卓项目时,引入了自己之前封装的一个jar包,该jar包使用了一些Java8特性,引入之后sync成功了,但是等到编译的时候就报错:
Android issues:
Invoke-customs are only supported starting with Android O (--min-api 26)
Java compiler:
com.android.builder.dexing.DexArchiveBuilderException: Failed to process xxxxxx\app\libs\util-1.0.12.jar
com.android.builder.dexing.DexArchiveBuilderException: Error while dexing.
com.android.tools.r8.CompilationFailedException: Compilation failed to complete
com.android.tools.r8.utils.AbortException

在 build.gradle 中增加如下代码:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
如下图所示

再编译,成功。

本文解决了一个在Android项目中引入使用Java8特性的jar包导致的编译错误问题。通过在build.gradle文件中添加特定的Java版本兼容性配置,成功解决了Invoke-custom仅在Android O及更高版本中支持的问题。
3576





