评论者:gshayban
从 Android
{quote}
Android 不运行 Java 字节码,它运行 Dex 字节码。你的类转换成 dexdump 的输出很有趣。
JVMS 也不重要。Android 不是一个 Java 虚拟机。我们遵循 JLS,但不是 JVMS(因为我们不运行 Java 字节码,我们怎么可能遵循呢)。因此,针对它的所有上诉都是不相关的。我们尝试与 JVMS 的精神在 Dex 字节码方面兼容,但如果你的源代码不是 Java,就完全没有保证。
现在,验证器(可能仍然如此)已经损坏,即使是对我们(相当糟糕的)规范也是如此,遗憾的是,我们并不非常一致。例如,在Marshmallow中,我们有很多关于结构化锁定无法正确验证的代码会被拒绝为VerifyError,这与JVMS的精神不符。然而,在下一个版本中,这将得到放宽,并推迟到运行代码时实际检查。
遗憾的是,我们无法对旧版本做任何事情,您必须绕过任何问题。 :-( 当我有时间的时候,我会看看您的类。
{quote}
听起来在Clojure中制定权宜之计是最小的问题。