评论者:gshayban
来自Android
{quote}
Android不运行Java字节码,它运行Dex字节码。你的类转换成的dexdump输出很有意思。
对JVMS也没有什么兴趣。Android不是Java虚拟机。我们遵循JLS,但不遵循JVMS(我们怎么可能运行Java字节码)。因此,所有对它的上诉都是无关的。我们努力在Dex字节码方面与JVMS的精神兼容,但如果你的源代码不是Java,则没有保障。
现在,验证器已经(可能还是)坏了,甚至不符合我们(相当糟糕)的规范,不幸的是,我们并不十分一致。例如,在Marshmallow中,许多我们无法正确验证的结构化锁定代码被拒绝为VerifyError,这与JVMS的精神不符。然而,在下一个版本中,这将得到缓解,并且将推迟到代码运行时进行实际检查。
很遗憾,关于旧版本,我们无法进行任何操作,您必须自己解决遇到的问题。:-( 我会尽量在找到时间时查看您的类。
{quote}
听起来在Clojure中创建一个解决方案是所有方法中最不坏的选择。