给定一个.class文件的byte[]
数组:是否可以重命名字节码内给定类的所有类引用?(例如,来自测试.class->test_new_version.class包括所有构造函数或任何其他字节码引用)。如果是这样,那么实现此目的的好库是什么?
使用 ASM 库完全可以做到这一点。该库的常见问题解答甚至在其教程中给出了如何重命名类的示例。
实际上,您需要使用库实用程序附带的RemappingClassAdapter
。若要生成合法字节代码,重命名的类必须与替换的类完全二进制兼容。