package com.android.dx.merge; import com.android.dex.Dex; import com.android.dex.DexIndexOverflowException; import java.io.File; /** * This test tries to merge given dex files at random, 2 by 2. */ public class MergeTest { private static final int NUMBER_OF_TRIES = 1000; public static void main(String[] args) throws Throwable { for (int i = 0; i < NUMBER_OF_TRIES; i++) { String fileName1 = args[(int) (Math.random() * args.length)]; String fileName2 = args[(int) (Math.random() * args.length)]; try { Dex toMerge = new Dex(new File(fileName1)); Dex toMerge2 = new Dex(new File(fileName2)); new DexMerger(toMerge, toMerge2, CollisionPolicy.KEEP_FIRST).merge(); } catch (DexIndexOverflowException e) { // ignore index overflow } catch (Throwable t) { System.err.println( "Problem merging those 2 dexes: \"" + fileName1 + "\" and \"" + fileName2 + "\""); throw t; } } } }