评论由:gshayban发布
从Android得知
{quote}
Android不运行Java字节码,它运行Dex字节码。你的类转换成的dexdump输出很有趣。
JVMS也不有趣。Android不是一个Java虚拟机。我们遵循JLS,但不遵循JVMS(因为我们不运行Java字节码,我们怎么能呢)。因此,所有对它的反对都是无关的。我们尽力与JVMS的精神兼容,关于Dex字节码,但如果你的源代码不是Java,则没有任何保证。
现在,验证器(很可能仍然是)出了问题,甚至在与我们的(相当糟糕的)规范相比也是错误的,我们相当不一致。例如,在Marshmallow中,很多我们无法正确验证关于结构化锁定的代码被拒绝为VerifyError,这与JVMS的精神不符。然而,在下一个版本中,这将得到放宽,并将推迟到代码运行时实际检查。
遗憾的是,我们无法对旧版本做出任何努力,您将不得不通过其他方式解决任何问题。:-) 当我有时间时,我会尝试看看您的类。
{quote}
听起来,在Clojure中找到一个解决方案是最小化问题的一种方法。