summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2012-06-11 15:17:31 -0700
committerElliott Hughes <enh@google.com>2012-06-11 16:33:01 -0700
commit5e90165d5918f18aec0964bc475f4064e9143599 (patch)
tree4632c70117cfb79476152c694504f1a307f12761
parenta9ac3a9d1f8de71bcdc39d1f4827c04a952a0c29 (diff)
downloaddalvik-5e90165d5918f18aec0964bc475f4064e9143599.tar.gz
Make dex merging stateless.
This is required to run dx in Eclipse which doesn't unload the dx library after each run. (cherry-pick of 7aa5ce7e990dc3766eba97cd0932b62e4de21503.) Change-Id: I7a69a3015d448ddd5558c307cd01346156cbc739
-rw-r--r--dx/src/com/android/dx/command/dexer/Main.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/dx/src/com/android/dx/command/dexer/Main.java b/dx/src/com/android/dx/command/dexer/Main.java
index d127550a6..80ddbd0a2 100644
--- a/dx/src/com/android/dx/command/dexer/Main.java
+++ b/dx/src/com/android/dx/command/dexer/Main.java
@@ -186,6 +186,9 @@ public class Main {
// Reset the error/warning count to start fresh.
warnings = 0;
errors = 0;
+ // empty the list, so that tools that load dx and keep it around
+ // for multiple runs don't reuse older buffers.
+ libraryDexBuffers.clear();
args = arguments;
args.makeOptionsObjects();
@@ -297,6 +300,7 @@ public class Main {
DexBuffer ab = new DexMerger(a, b, CollisionPolicy.FAIL).merge();
outArray = ab.getBytes();
}
+
return outArray;
}