首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >android.tools.r8.a:MethodHandle.invoke和MethodHandle.invokeExact仅在安装itext7后才支持从Android (-min 26)开始。

android.tools.r8.a:MethodHandle.invoke和MethodHandle.invokeExact仅在安装itext7后才支持从Android (-min 26)开始。
EN

Stack Overflow用户
提问于 2022-01-11 18:24:02
回答 2查看 2.6K关注 0票数 1

安装itext7后出现以下错误:

代码语言:javascript
运行
复制
com.android.tools.r8.a: MethodHandle.invoke and MethodHandle.invokeExact are only supported starting with Android O (--min-api 26)
代码语言:javascript
运行
复制
implementation "com.itextpdf:itext7-core:7.1.3"

我尝试了以下解决方案,但也没有奏效:

代码语言:javascript
运行
复制
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

此外,我试图将itext的版本降级为implementation "com.itextpdf:itext7-core:5.0.6",但也没有起作用。

有人能帮我解决这个问题吗?谢谢

EN

回答 2

Stack Overflow用户

发布于 2022-01-12 13:26:33

错误信息

代码语言:javascript
运行
复制
MethodHandle.invoke and MethodHandle.invokeExact are only supported starting with Android O (--min-api 26)

是由使用其中一个方法(MethodHandle.invokeMethodHandle.invokeExact)的输入程序引起的。

由于这些方法的使用来自于库

代码语言:javascript
运行
复制
implementation "com.itextpdf:itext7-core:7.1.3"

唯一的即时解决方案是将您的min (android.defaultConfig.minSdk in build.gradle)更改为26。这将导致您的应用程序只运行在Android8.0及以上版本。

或者,如果使用这些API的代码路径没有被您的应用程序实际使用,那么打开R8收缩也可以工作,因为那样的话,违规的代码将在震动时从程序中删除。

最后,您还可以与库开发人员联系,看看他们是否有Android特定的版本,或者通过避免违规的API来支持Android。

票数 2
EN

Stack Overflow用户

发布于 2022-01-13 13:12:03

最后,我就是通过弹出iText版本来解决这个问题的:

代码语言:javascript
运行
复制
implementation "com.itextpdf:itext7-core:7.1.10"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70671673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档