OSDN Git Service

Make dex merging stateless.
authorXavier Ducrohet <xav@android.com>
Mon, 11 Jun 2012 22:17:31 +0000 (15:17 -0700)
committerElliott Hughes <enh@google.com>
Mon, 11 Jun 2012 23:33:01 +0000 (16:33 -0700)
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

dx/src/com/android/dx/command/dexer/Main.java

index d127550..80ddbd0 100644 (file)
@@ -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;
     }