summaryrefslogtreecommitdiffstats
path: root/dx/src/com/android/dx
diff options
context:
space:
mode:
authoryroussel <yroussel@google.com>2012-10-26 15:24:56 +0200
committerBrian Carlstrom <bdc@google.com>2013-05-03 18:02:21 -0700
commitc2a804c050cbd6aa60da7ffaea46c8c99aaf53ad (patch)
tree8f5119d8f7e83cce75f41d84bf3dd226e8bf72f1 /dx/src/com/android/dx
parentd1d0198958d140ee2069e6d9d5130824b27bd451 (diff)
downloadandroid_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.java15
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.");
}
}