summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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.");
}
}