Android 字节码验证码

Android bytecode verification code

我在哪里可以查看 android 字节码验证器源代码,即在字节码不正确的情况下负责抛出 java.lang.VerifyError 的代码?验证是在 java 还是 C++ 代码中进行?

谢谢。

你会想看看 art/runtime/verifier directory (e.g. method_verifier.cc), and also art/runtime/dex_file_verifier.cc。我认为这些是 dex/bytecode 验证发生的主要地方,尽管可能还有其他一些东西。

我不确定抛出 VerifyError 异常的确切位置,但它是根据 above-mentioned 代码执行的验证抛出的。