The most important flag is --min-api 21, because without that everything is fine.
baksmali classes.dex -> classes-out
com.googlecode.d2j.DexException: Error process class: [0]LTestKt;
at com.googlecode.d2j.reader.DexFileReader.accept(DexFileReader.java:604)
at com.googlecode.d2j.reader.DexFileReader.accept(DexFileReader.java:565)
at com.googlecode.d2j.smali.Baksmali.to(Baksmali.java:99)
at com.googlecode.d2j.smali.BaksmaliCmd.doCommandLine(BaksmaliCmd.java:60)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
at com.googlecode.d2j.smali.BaksmaliCmd.main(BaksmaliCmd.java:24)
Caused by: java.util.IllegalFormatConversionException: d != java.lang.String
at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4302)
at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2793)
at java.util.Formatter$FormatSpecifier.print(Formatter.java:2747)
at java.util.Formatter.format(Formatter.java:2520)
at java.util.Formatter.format(Formatter.java:2455)
at java.lang.String.format(String.java:2940)
at com.googlecode.d2j.smali.BaksmaliDumpOut.s(BaksmaliDumpOut.java:62)
at com.googlecode.d2j.smali.BaksmaliCodeDumper.visitFilledNewArrayStmt(BaksmaliCodeDumper.java:252)
at com.googlecode.d2j.node.DexCodeNode$FilledNewArrayStmtNode.accept(DexCodeNode.java:300)
at com.googlecode.d2j.node.DexCodeNode.accept(DexCodeNode.java:62)
at com.googlecode.d2j.smali.BaksmaliDumper.baksmaliCode(BaksmaliDumper.java:517)
at com.googlecode.d2j.smali.BaksmaliDumper.baksmaliMethod(BaksmaliDumper.java:445)
at com.googlecode.d2j.smali.BaksmaliDumper.baksmaliClass(BaksmaliDumper.java:397)
at com.googlecode.d2j.smali.BaksmaliDexFileVisitor$1.visitEnd(BaksmaliDexFileVisitor.java:60)
at com.googlecode.d2j.reader.DexFileReader.accept(DexFileReader.java:601)
... 5 more
Note: the --intermediate flag doesn't matter, because I first found the issue on a classes6.dex in an APK.
test.kt
:The following is essentially what
gradlew :lib:dexDebug
does on an Android project:The most important flag is
--min-api 21
, because without that everything is fine.Note: the
--intermediate
flag doesn't matter, because I first found the issue on a classes6.dex in an APK.