diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/src/SmaliBuilder.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/src/SmaliBuilder.java index 681a76ea..4a93ee2e 100644 --- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/src/SmaliBuilder.java +++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/src/SmaliBuilder.java @@ -108,8 +108,14 @@ public class SmaliBuilder { out.append(line).append('\n'); } } - //mDexBuilder.addSmaliFile(IOUtils.toInputStream(out.toString()), - //fileName); + + try { + if (!SmaliMod.assembleSmaliFile(out.toString(),dexBuilder, false, false, inFile)) { + throw new AndrolibException("Could not smali file: " + fileName); + } + } catch (IOException | RecognitionException ex) { + throw new AndrolibException(ex); + } } private final ExtFile mSmaliDir; diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/src/SmaliDecoder.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/src/SmaliDecoder.java index e28f66e7..be96716f 100644 --- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/src/SmaliDecoder.java +++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/src/SmaliDecoder.java @@ -96,7 +96,7 @@ public class SmaliDecoder { throw new AndrolibException("Warning: You are disassembling an odex file without deodexing it."); } - if (options.inlineResolver == null && dexFile instanceof DexBackedOdexFile) { + if (dexFile instanceof DexBackedOdexFile) { options.inlineResolver = InlineMethodResolver.createInlineMethodResolver(((DexBackedOdexFile)dexFile).getOdexVersion()); }