The main purpose of this tool is conversion of configuration files from json format
into "JCommander" format in order to pass these configuration options to jadx-cli
later on.
☢️ It's a dirty workaround. Please, upvote this issue. ☢️
Usage: jadx_conf.py <json config> [additional flags]
Examples:
jadx_conf.py jadx-example-gui-config.json -e -d app-sourcesJSON configuration can be easily obtained from the File->Preferences menu

This script uses the following mapping between json and cli options:
- skipResources:
--no-res - skipSources:
--no-src - exportAsGradleProject:
--export-gradle - threadsCount:
--threads-count - decompilationMode:
--decompilation-mode - showInconsistentCode:
--show-bad-code - useImports:
--no-imports - debugInfo:
--no-debug-info - addDebugLines:
--add-debug-lines - inlineAnonymousClasses:
--no-inline-anonymous - inlineMethods:
--no-inline-methods - extractFinally:
--no-finally - replaceConsts:
--no-replace-consts - escapeUnicode:
--escape-unicode - respectBytecodeAccessModifiers:
--respect-bytecode-access-modifiers - deobfuscationOn:
--deobf - deobfuscationMinLength:
--deobf-min - deobfuscationMaxLength:
--deobf-max - deobfuscationMapFileMode:
--deobf-cfg-file-mode - deobfuscationUseSourceNameAsAlias:
--deobf-use-sourcename - deobfuscationParseKotlinMetadata:
--deobf-parse-kotlin-metadata - resourceNameSource:
--deobf-res-name-source - useKotlinMethodsForVarNames:
--use-kotlin-methods-for-var-names - renameFlags:
--rename-flags - fsCaseSensitive:
--fs-case-sensitive - cfgOutput:
--cfg - rawCfgOutput:
--raw-cfg - fallbackMode:
--fallback - useDx:
--use-dx - commentsLevel:
--comments-level - pluginOptions.java-convert.d8-desugar:
-Pjava-convert.d8-desugar=<value> - pluginOptions.java-convert.mode:
-Pjava-convert.mode=<value> - pluginOptions.dex-input.verify-checksum:
-Pdex-input.verify-checksum=<value>