评论者:gshayban
来自Android
{quote}
Android不运行Java字节码,它运行Dex字节码。你类转换成的dexdump输出很值得关注。
JVM规范(JVMS)也不相关。Android不是一个Java虚拟机。我们遵循JLS,但不遵循JVMS(因为我们不运行Java字节码,我们怎么可能呢)。因此,对此的所有上诉都是不相关的。我们努力与JVMS的精神兼容以Dex字节码相关,但如果您的源代码不是Java,则没有任何保证。
截至目前,校验器(可能至今仍然存在问题)无法正常工作,即使是对我们(相当糟糕)的规范也无法应对,遗憾的是我们没有做到一致性。以Marshmallow为例,很多关于结构化锁定验证不正确的代码都被拒绝为VerifyError,这与JVM规范的精神不符。但在下一个版本中,这个问题将会放宽处理,并延迟到代码运行时实际检查。
遗憾的是,我们无法对旧版本进行任何操作,您必须解决任何问题。:-) 我会尽量在你找到时间的时候查看你的类。
{quote}
听起来在Clojure中制定一种折衷方案是所有方案中最低劣的选择。