Open royhook opened 6 years ago
的确是个bug,同理,这种写法也会有坑:
原代码
public LocalBroadcastManager getLocalBroadcast() {
return LocalBroadcastManager.getInstance(context);
}
插件调用后代码: public LocalBroadcastManager getLocalBroadcast() { return PluginLocalBroadcastManager.getInstance(context); }
问题详细描述 Detailed description of the problem
我看到了脚本执行后 invoke-static {v0}, Lcom/qihoo360/replugin/loader/b/PluginLocalBroadcastManager;->getInstance(Landroid/content/Context;)Ljava/lang/Object;
返回值变成了Ljava/lang/Object;
应该是 Lcom/qihoo360/replugin/loader/b/PluginLocalBroadcastManager;这个对象就对了。
然后发现脚本没有更改全局变量。
这2个问题会导致dex 校验的时候出问题。
我写了个自动化,把这2个问题点改掉了
复现问题步骤 Steps to reproduce the problem
其它重要信息 Other important information
replugin-host-lib/gradle Version: rePlugin-plugin-lib/gradle Version:
Android API Version: Android 手机型号&ROM(Phone model & ROM):
Logcat上下文 Logcat context