动态加载并执行预编译代码(oat文件)

时间:2015-11-02 14:24:07

标签: android virtual-machine dalvik android-runtime

由于谷歌在较新的Android版本中删除了“openDexFile(byte [] fileContents)”,我们正在寻找替代品,此外我们更愿意使用预编译代码(参见dex2oat)。

是否有人知道执行该任务的功能?我们也不想将文件存储在磁盘上。

如何更换内存中应用程序的代码呢?在新的ART VM下,这可能吗?我正在寻找有关此主题的更多信息。我知道前任Dalvik VM是可能的。

感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:1)

通常,您无法加载预编译的odex / oat文件。这些文件在很大程度上依赖于编译时使用的确切框架,因此它们不能在设备之间移植。

您可以使用DexClassLoader在dalvik和art上动态加载dex文件。见,例如, http://android-developers.blogspot.com/2011/07/custom-class-loading-in-dalvik.html