我意识到这是不可能的,因为android没有jvm,但是有办法解决这个问题吗?我需要为android应用程序执行字节码注入操作。有什么建议吗?

最佳答案

不能直接将字节码注入已加载的类/方法。但是,您可以动态创建新类,将它们写入dex文件,然后动态加载它们
有关从磁盘上的dex文件动态加载类的更多信息,请参见this blogpost。
为了动态地创建一个新的dex文件,您可以使用dexlib component代码库的一部分smali/baksmali,这是一个用于读/写dex文件的通用库。
或者,也可以将smali包含在应用程序中,并以smali程序集格式生成类,然后直接使用smali将它们组装到新的dex文件中。

10-07 19:23
查看更多