diff --git a/dexlib/src/main/java/org/jf/dexlib/DexFile.java b/dexlib/src/main/java/org/jf/dexlib/DexFile.java index d7a73fd7..a1d213ab 100644 --- a/dexlib/src/main/java/org/jf/dexlib/DexFile.java +++ b/dexlib/src/main/java/org/jf/dexlib/DexFile.java @@ -40,6 +40,7 @@ import java.security.NoSuchAlgorithmException; import java.util.HashMap; import java.util.Arrays; import java.util.Comparator; +import java.util.Collections; import java.util.zip.Adler32; /** @@ -599,6 +600,13 @@ public class DexFile int ret = ClassDefItem.placeClassDefItems(this, offset); + Collections.sort(this.items, new Comparator() { + + public int compare(ClassDefItem a, ClassDefItem b) { + return a.getOffset() - b.getOffset(); + } + }); + this.offset = items.get(0).getOffset(); return ret; }