由于 Google 在较新的 Android 版本中删除了“openDexFile(byte[] fileContents)”,因此我们在这里寻找替代品,此外,我们也更喜欢使用预编译代码(参见 dex2oat)。
有人知道执行该任务的功能吗?我们也不想将文件存储在磁盘上。
替换内存中的应用程序代码怎么样?在新的 ART VM 下这可能吗?我正在寻找有关此主题的更多信息。我知道以前的 Dalvik VM 是可能的。
任何帮助表示赞赏。谢谢。
由于 Google 在较新的 Android 版本中删除了“openDexFile(byte[] fileContents)”,因此我们在这里寻找替代品,此外,我们也更喜欢使用预编译代码(参见 dex2oat)。
有人知道执行该任务的功能吗?我们也不想将文件存储在磁盘上。
替换内存中的应用程序代码怎么样?在新的 ART VM 下这可能吗?我正在寻找有关此主题的更多信息。我知道以前的 Dalvik VM 是可能的。
任何帮助表示赞赏。谢谢。
通常,您无法加载预编译的 odex/oat 文件。这些文件严重依赖于编译时使用的确切框架,因此它们不能在设备之间移植。
您可以使用DexClassLoader在 dalvik 和 art 上动态加载 dex 文件。参见,例如http://android-developers.blogspot.com/2011/07/custom-class-loading-in-dalvik.html