如何从 OSMDroid 类文件诊断 dx 错误“invokedynamic requires --min-sdk-version >= 26”?

问题描述

我正在使用 dx 将 (Java) 类文件转换为 Dalvik,并且它在 2021 年 1 月开始工作。我现在在一台新计算机上返回它,我发现我得到了以下内容错误

processing ./obj/./org/osmdroid/views/util/constants/OverlayConstants.class...
Uncaught translation error: com.android.dx.cf.code.SimException: invalid opcode ba (invokedynamic requires --min-sdk-version >= 26)

我使用的是 Debian Linux(通过 CloudShell 和我的 Chromebook)。我使用 sudo apt install android-sdk 安装了 build-tools,这为我提供了我所知道的相对较旧的 Android SDK 版本。我通过提取内容并将其类文件与我自己的类文件一起使用来使用 osmdroid-android-6.1.8-release.aar

我在 StackOverflow 上看到了很多关于这个可怕错误的答案,其中很多都已经存在多年了,但没有一个真正有帮助,因为我正在构建没有Android Studio或任何IDE。我正在寻找关于如何解决这个问题的任何见解。我唯一能想到的下一步就是自己编译OSMDroid,看看生成的类文件是否没有这个问题。

有关构建过程的更多详细信息,请参见此处的构建脚本:https://github.com/neilobremski/motator/blob/main/build.sh

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...