Package jadx.api
Class JadxDecompiler
- java.lang.Object
-
- jadx.api.JadxDecompiler
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public final class JadxDecompiler extends java.lang.Object implements java.io.CloseableJadx API usage example:JadxArgs args = new JadxArgs(); args.getInputFiles().add(new File("test.apk")); args.setOutDir(new File("jadx-test-output")); try (JadxDecompiler jadx = new JadxDecompiler(args)) { jadx.load(); jadx.save(); }Instead of 'save()' you can iterate over decompiled classes:
for(JavaClass cls : jadx.getClasses()) { System.out.println(cls.getCode()); }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceJadxDecompiler.ProgressListener
-
Constructor Summary
Constructors Constructor Description JadxDecompiler()JadxDecompiler(JadxArgs args)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddCloseable(java.io.Closeable closeable)voidaddCustomCodeLoader(jadx.api.plugins.input.ICodeLoader customCodeLoader)voidaddCustomPass(JadxPass pass)voidaddCustomResourcesLoader(CustomResourcesLoader loader)voidclose()IJadxEventsevents()JadxArgsgetArgs()java.util.List<JavaClass>getClasses()java.util.List<JavaClass>getClassesWithInners()@Nullable JavaNodegetClosestJavaNode(ICodeInfo codeInfo, int pos)java.util.List<jadx.api.plugins.input.ICodeLoader>getCustomCodeLoaders()java.util.List<CustomResourcesLoader>getCustomResourcesLoaders()IDecompileSchedulergetDecompileScheduler()@Nullable JavaNodegetEnclosingNode(ICodeInfo codeInfo, int pos)intgetErrorsCount()@Nullable JavaNodegetJavaNodeAtPosition(ICodeInfo codeInfo, int pos)@Nullable JavaNodegetJavaNodeByCodeAnnotation(@Nullable ICodeInfo codeInfo, @Nullable ICodeAnnotation ann)@Nullable JavaNodegetJavaNodeByRef(ICodeNodeRef ann)java.util.List<JavaPackage>getPackages()JadxPluginManagergetPluginManager()java.util.List<ResourceFile>getResources()ResourcesLoadergetResourcesLoader()RootNodegetRoot()Internal API.java.util.concurrent.ExecutorServicegetSaveExecutor()Deprecated, for removal: This API element is subject to removal in a future version.ITaskExecutorgetSaveTaskExecutor()java.util.List<java.lang.Runnable>getSaveTasks()Deprecated, for removal: This API element is subject to removal in a future version.static java.lang.StringgetVersion()intgetWarnsCount()jadx.zip.ZipReadergetZipReader()voidload()voidprintErrorsReport()voidregisterPlugin(JadxPlugin plugin)voidreloadCodeData()voidreloadPasses()voidsave()voidsave(int intervalInMillis, JadxDecompiler.ProgressListener listener)voidsaveResources()voidsaveSources()@Nullable ClassNodesearchClassNodeByOrigFullName(java.lang.String fullName)@Nullable JavaClasssearchJavaClassByAliasFullName(java.lang.String fullName)@Nullable JavaClasssearchJavaClassByOrigFullName(java.lang.String fullName)@Nullable JavaClasssearchJavaClassOrItsParentByOrigFullName(java.lang.String fullName)voidsetEventsImpl(IJadxEvents eventsImpl)java.lang.StringtoString()
-
-
-
Constructor Detail
-
JadxDecompiler
public JadxDecompiler()
-
JadxDecompiler
public JadxDecompiler(JadxArgs args)
-
-
Method Detail
-
load
public void load()
-
reloadPasses
public void reloadPasses()
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable
-
registerPlugin
public void registerPlugin(JadxPlugin plugin)
-
getVersion
public static java.lang.String getVersion()
-
save
public void save()
-
save
public void save(int intervalInMillis, JadxDecompiler.ProgressListener listener)
-
saveSources
public void saveSources()
-
saveResources
public void saveResources()
-
getSaveTaskExecutor
public ITaskExecutor getSaveTaskExecutor()
-
getSaveExecutor
@Deprecated(forRemoval=true) public java.util.concurrent.ExecutorService getSaveExecutor()
Deprecated, for removal: This API element is subject to removal in a future version.
-
getSaveTasks
@Deprecated(forRemoval=true) public java.util.List<java.lang.Runnable> getSaveTasks()
Deprecated, for removal: This API element is subject to removal in a future version.
-
getClasses
public java.util.List<JavaClass> getClasses()
-
getClassesWithInners
public java.util.List<JavaClass> getClassesWithInners()
-
getResources
public java.util.List<ResourceFile> getResources()
-
getPackages
public java.util.List<JavaPackage> getPackages()
-
getErrorsCount
public int getErrorsCount()
-
getWarnsCount
public int getWarnsCount()
-
printErrorsReport
public void printErrorsReport()
-
getRoot
@Internal public RootNode getRoot()
Internal API. Not Stable!
-
searchJavaClassByOrigFullName
@Nullable public @Nullable JavaClass searchJavaClassByOrigFullName(java.lang.String fullName)
-
searchClassNodeByOrigFullName
@Nullable public @Nullable ClassNode searchClassNodeByOrigFullName(java.lang.String fullName)
-
searchJavaClassOrItsParentByOrigFullName
@Nullable public @Nullable JavaClass searchJavaClassOrItsParentByOrigFullName(java.lang.String fullName)
-
searchJavaClassByAliasFullName
@Nullable public @Nullable JavaClass searchJavaClassByAliasFullName(java.lang.String fullName)
-
getJavaNodeByRef
@Nullable public @Nullable JavaNode getJavaNodeByRef(ICodeNodeRef ann)
-
getJavaNodeByCodeAnnotation
@Nullable public @Nullable JavaNode getJavaNodeByCodeAnnotation(@Nullable @Nullable ICodeInfo codeInfo, @Nullable @Nullable ICodeAnnotation ann)
-
getJavaNodeAtPosition
@Nullable public @Nullable JavaNode getJavaNodeAtPosition(ICodeInfo codeInfo, int pos)
-
getClosestJavaNode
@Nullable public @Nullable JavaNode getClosestJavaNode(ICodeInfo codeInfo, int pos)
-
reloadCodeData
public void reloadCodeData()
-
getArgs
public JadxArgs getArgs()
-
getPluginManager
public JadxPluginManager getPluginManager()
-
getDecompileScheduler
public IDecompileScheduler getDecompileScheduler()
-
events
public IJadxEvents events()
-
setEventsImpl
public void setEventsImpl(IJadxEvents eventsImpl)
-
addCustomCodeLoader
public void addCustomCodeLoader(jadx.api.plugins.input.ICodeLoader customCodeLoader)
-
getCustomCodeLoaders
public java.util.List<jadx.api.plugins.input.ICodeLoader> getCustomCodeLoaders()
-
addCustomResourcesLoader
public void addCustomResourcesLoader(CustomResourcesLoader loader)
-
getCustomResourcesLoaders
public java.util.List<CustomResourcesLoader> getCustomResourcesLoaders()
-
addCustomPass
public void addCustomPass(JadxPass pass)
-
getResourcesLoader
public ResourcesLoader getResourcesLoader()
-
getZipReader
public jadx.zip.ZipReader getZipReader()
-
addCloseable
public void addCloseable(java.io.Closeable closeable)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-