From 903e3ed9fbbbe5b7f2866e92a86bbe082119db01 Mon Sep 17 00:00:00 2001 From: Lanchon Date: Tue, 12 Jun 2018 21:36:19 -0300 Subject: [PATCH] Fix AbstractMultiDexContainer --- .../AbstractMultiDexContainer.java | 18 +----------------- .../multidexlib2/DirectoryDexContainer.java | 2 +- .../multidexlib2/SingletonDexContainer.java | 4 +--- .../multidexlib2/ZipFileDexContainer.java | 2 +- 4 files changed, 4 insertions(+), 22 deletions(-) diff --git a/src/main/java/lanchon/multidexlib2/AbstractMultiDexContainer.java b/src/main/java/lanchon/multidexlib2/AbstractMultiDexContainer.java index 1c56a7d..35108f4 100644 --- a/src/main/java/lanchon/multidexlib2/AbstractMultiDexContainer.java +++ b/src/main/java/lanchon/multidexlib2/AbstractMultiDexContainer.java @@ -15,7 +15,6 @@ import java.util.Collections; import java.util.Map; import java.util.List; -import org.jf.dexlib2.Opcodes; import org.jf.dexlib2.iface.DexFile; import org.jf.dexlib2.iface.MultiDexContainer; @@ -23,24 +22,15 @@ public abstract class AbstractMultiDexContainer implements Mu private Map entryMap; private List entryNames; - private Opcodes resolvedOpcodes; protected AbstractMultiDexContainer() {} - protected void initialize(Map entryMap, Opcodes opcodes) { + protected void initialize(Map entryMap) { if (entryMap == null) throw new NullPointerException("entryMap"); if (this.entryMap != null) throw new IllegalStateException("Already initialized"); this.entryMap = entryMap; // See: https://github.com/JesusFreke/smali/issues/458 entryNames = Collections.unmodifiableList(new ArrayList<>(entryMap.keySet())); - if (opcodes == null) { - //opcodes = getNewestOpcodes(); - for (T entry : entryMap.values()) { - opcodes = OpcodeUtils.getNewestOpcodes(opcodes, entry.getOpcodes(), true); - } - //if (opcodes == null) throw nullOpcodes(); - } - resolvedOpcodes = opcodes; } @Override @@ -53,12 +43,6 @@ public abstract class AbstractMultiDexContainer implements Mu return entryMap.get(entryName); } - @Override - public Opcodes getOpcodes() { - //if (resolvedOpcodes == null) throw nullOpcodes(); - return resolvedOpcodes; - } - /* public Opcodes getNewestOpcodes() { Opcodes opcodes = null; diff --git a/src/main/java/lanchon/multidexlib2/DirectoryDexContainer.java b/src/main/java/lanchon/multidexlib2/DirectoryDexContainer.java index d2ecbbb..fa218b0 100644 --- a/src/main/java/lanchon/multidexlib2/DirectoryDexContainer.java +++ b/src/main/java/lanchon/multidexlib2/DirectoryDexContainer.java @@ -32,7 +32,7 @@ public class DirectoryDexContainer extends AbstractMultiDexContainer extends AbstractMultiDexContainer> { @@ -31,10 +30,9 @@ public class SingletonDexContainer extends AbstractMultiDexCo } public SingletonDexContainer(String entryName, D dexFile) { - Opcodes opcodes = dexFile.getOpcodes(); WrappingMultiDexFile multiDexFile = new BasicMultiDexFile<>(this, entryName, dexFile); Map> entryMap = Collections.singletonMap(entryName, multiDexFile); - initialize(entryMap, opcodes); + initialize(entryMap); } } diff --git a/src/main/java/lanchon/multidexlib2/ZipFileDexContainer.java b/src/main/java/lanchon/multidexlib2/ZipFileDexContainer.java index 8ae76ab..cdd474d 100644 --- a/src/main/java/lanchon/multidexlib2/ZipFileDexContainer.java +++ b/src/main/java/lanchon/multidexlib2/ZipFileDexContainer.java @@ -53,7 +53,7 @@ public class ZipFileDexContainer extends AbstractMultiDexContainer