diff options
author | yroussel <yroussel@google.com> | 2012-10-26 15:24:56 +0200 |
---|---|---|
committer | Brian Carlstrom <bdc@google.com> | 2013-05-03 18:02:21 -0700 |
commit | c2a804c050cbd6aa60da7ffaea46c8c99aaf53ad (patch) | |
tree | 8f5119d8f7e83cce75f41d84bf3dd226e8bf72f1 /dx/src/com/android/dx | |
parent | d1d0198958d140ee2069e6d9d5130824b27bd451 (diff) | |
download | android_dalvik-c2a804c050cbd6aa60da7ffaea46c8c99aaf53ad.tar.gz android_dalvik-c2a804c050cbd6aa60da7ffaea46c8c99aaf53ad.tar.bz2 android_dalvik-c2a804c050cbd6aa60da7ffaea46c8c99aaf53ad.zip |
Allow the merging of more than 2 dex file at a time.
(cherry picked from commit f9f7020a0a181ffba3bb9ed123f5bb211a61738e)
Change-Id: I2dd875399c2d30d214b6a025ffea995155ff48c1
Diffstat (limited to 'dx/src/com/android/dx')
-rw-r--r-- | dx/src/com/android/dx/merge/DexMerger.java | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/dx/src/com/android/dx/merge/DexMerger.java b/dx/src/com/android/dx/merge/DexMerger.java index 0a92e48bb..7566845eb 100644 --- a/dx/src/com/android/dx/merge/DexMerger.java +++ b/dx/src/com/android/dx/merge/DexMerger.java @@ -1102,20 +1102,23 @@ public final class DexMerger { } public static void main(String[] args) throws IOException { - if (args.length != 3) { + if (args.length < 2) { printUsage(); return; } - Dex dexA = new Dex(new File(args[1])); - Dex dexB = new Dex(new File(args[2])); - Dex merged = new DexMerger(dexA, dexB, CollisionPolicy.KEEP_FIRST).merge(); + Dex merged = new Dex(new File(args[1])); + for (int i = 2; i < args.length; i++) { + Dex toMerge = new Dex(new File(args[i])); + merged = new DexMerger(merged, toMerge, CollisionPolicy.KEEP_FIRST).merge(); + } merged.writeTo(new File(args[0])); } private static void printUsage() { - System.out.println("Usage: DexMerger <out.dex> <a.dex> <b.dex>"); + System.out.println("Usage: DexMerger <out.dex> <a.dex> <b.dex> ..."); System.out.println(); - System.out.println("If both a and b define the same classes, a's copy will be used."); + System.out.println( + "If a class is defined in several dex, the class found in the first dex will be used."); } } |