使用 Byte Buddy 在 Android 中更改方法实现

Change method implementation in Android with Byte Buddy

提问人:Petrakeas 提问时间:11/1/2023 最后编辑:Petrakeas 更新时间:11/2/2023 访问量:25

问:

我想让 Android SDK 的 Resources 类的一些方法的实现,例如 getString() 使用我自己的实现。

当我从 Context#getResources 获取实例时,我无法创建自己的覆盖/代理版本。我认为我需要在其教程中具有所谓的“类型变基”。ResourcesByte Buddy

这在 Android 中可能吗?如果是,我是否应该使用适用于 Android 的 Byte Buddy Gradle 插件来实现这一点?

Java Android 字节码 byte-buddy

评论


答:

1赞 Rafael Winterhalter 11/2/2023 #1

您无法检测 Android 核心库中的类。您只能使用 来检测自己的调用到 Android 的类。MemberSubstitution