I see ant script of Android has message that it is \"pre-dexing\". However dex and pre-dex uses same options, except that in one case one jar at a time, in other case multip
It's useful to remember in this case that you are working in Java, which is not exactly the same thing as the Dalvik runtime. Java, from Oracle, uses a completely different virtual machine, while Dalvik is specifically fine-tuned for mobile devices.
The DEX processes take your Java compiled JAR files and converts them into Dalvik Executable Files (.dex) files that will run on Android. The Oracle JVM uses different bytecode than the Dalvik runtime, making this step a necessity.
There is a process for libraries you might have included in your project, as they are also compiled with a standard Java compiler, and then another process for your actual project.
It's done in two steps as the final process, your application, requires access to already dexed library files to avoid having references to code change while the process is busy.
You can find out more at http://source.android.com/devices/tech/dalvik/index.html - where you will also see that Dalvik is scheduled for replacement with something called ART.