有没有办法转换/修改由自定义注释注释的类和方法? #bycodecode-manipulation(但对于dex)
最好的方法是什么?
对于我正在寻找的东西,代理不适合。
答案 0 :(得分:0)
Dex文件库操作是可能的,但非常复杂,几乎没有好的工具。
相反,您应该在构建期间检测代码,因为它仍然表示为类文件。有各种各样的工具。我编写了一个名为Byte Buddy的工具,它允许您在构建期间使用Maven或Gradle插件运行代码。
为了更改类,您必须实现库的Plugin
接口,该接口允许您指定要更改的类以及要如何更改它。 Byte Buddy内联所有类,因此您不需要创建运行时代理。
对于Gradle,您必须创建一个引用您的插件代码的配置:
configuration {
myPlugin
}
dependencies {
myPlugin "my:plugin:1.0"
}
byteBuddy {
transformation {
plugin "pkg.MyPluginImpl"
classpath configuration.myPlugin
}
}
我认为这是你用来为Android开发的东西。