com.android.tools.r8.a:仅从Android O(--min-api 26)开始支持MethodHa



implementation 'org.apache.poi:poi:5.0.0'

当我使用运行"app"在模拟器/手机上运行时,上述依赖项工作正常,但是 当我尝试构建apk时,我遇到了以下错误。

com.android.tools.r8.a:仅从Android O(--min-api 26)开始支持MethodHandle.invoke和MethodHandle.invokeExact

。我在下面尝试

  1. 如果我删除依赖项,它可以正常工作。

  2. 如果我将 minSdkVersion 21 更新为 26,那么它可以正常工作。

所以我的问题是 我想使用 minsdkversion 21 以及该依赖项(此功能(EXCEL 文件)仅适用于 sdkversion>=26)

那么我怎样才能达到同样的目标呢?

提前谢谢你。

现在这是不可能的。D8 只允许编译使用 invoke-custom 和方法句柄的代码,minSdkVersion为 26 或更高,因为这是 Android 支持这些功能的第一个版本。

取消这一限制有一个悬而未决的问题。但是,根据库中的代码,如果在 API 级别为 25 或更低的设备上运行时命中使用 invoke-custom 和方法句柄的代码,则这可能最终会成为运行时错误。

您可以从Android Studio运行代码的原因是,在设备或模拟器上进行调试时,Android Studio将"人为地"将构建的minSdkVersion提高到附加的设备或模拟器的。这是为了通过利用设备或模拟器支持的内容来提供最佳开发体验。

您可以使用版本 4,它对我有用

implementation 'org.apache.poi:poi:4.0.0'
implementation 'org.apache.poi:poi-ooxml:4.0.0'

最新更新