feat(plugins): add API for search/use other plugins
This commit is contained in:
+11
-8
@@ -6,30 +6,33 @@ import java.util.List;
|
||||
import jadx.api.plugins.JadxPlugin;
|
||||
import jadx.api.plugins.JadxPluginContext;
|
||||
import jadx.api.plugins.JadxPluginInfo;
|
||||
import jadx.api.plugins.JadxPluginInfoBuilder;
|
||||
import jadx.api.plugins.data.JadxPluginRuntimeData;
|
||||
import jadx.api.plugins.input.ICodeLoader;
|
||||
import jadx.api.plugins.input.JadxCodeInput;
|
||||
import jadx.api.plugins.input.data.impl.EmptyCodeLoader;
|
||||
import jadx.plugins.input.dex.DexInputPlugin;
|
||||
|
||||
public class JavaConvertPlugin implements JadxPlugin, JadxCodeInput {
|
||||
|
||||
public static final String PLUGIN_ID = "java-convert";
|
||||
|
||||
private final DexInputPlugin dexInput = new DexInputPlugin();
|
||||
private final JavaConvertOptions options = new JavaConvertOptions();
|
||||
private final JavaConvertLoader loader = new JavaConvertLoader(options);
|
||||
|
||||
private JadxPluginRuntimeData dexInput;
|
||||
|
||||
@Override
|
||||
public JadxPluginInfo getPluginInfo() {
|
||||
return new JadxPluginInfo(
|
||||
PLUGIN_ID,
|
||||
"Java Convert",
|
||||
"Convert .class, .jar and .aar files to dex",
|
||||
"java-input");
|
||||
return JadxPluginInfoBuilder.pluginId(PLUGIN_ID)
|
||||
.name("Java Convert")
|
||||
.description("Convert .class, .jar and .aar files to dex")
|
||||
.provides("java-input")
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(JadxPluginContext context) {
|
||||
dexInput = context.plugins().getById(DexInputPlugin.PLUGIN_ID);
|
||||
context.registerOptions(options);
|
||||
context.addCodeInput(this);
|
||||
}
|
||||
@@ -41,6 +44,6 @@ public class JavaConvertPlugin implements JadxPlugin, JadxCodeInput {
|
||||
result.close();
|
||||
return EmptyCodeLoader.INSTANCE;
|
||||
}
|
||||
return dexInput.loadFiles(result.getConverted(), result);
|
||||
return dexInput.loadCodeFiles(result.getConverted(), result);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user