How to execute the dex file in android with command?

Let's say you have a the following code in file HelloWorld.java:

public class HelloWorld {
    public static void main(String[] args) {
         System.out.println("Hello World!");
    }
}

To run it on an android device:

javac HelloWorld.java
dx --dex --output=classes.dex HelloWorld.class
zip HelloWorld.zip classes.dex
adb push HelloWorld.zip /sdcard/

For GB or earlier, you should be able to simply do:

adb shell dalvikvm -cp /sdcard/HelloWorld.zip HelloWorld

For ICS+:

adb shell mkdir /sdcard/dalvik-cache
adb shell ANDROID_DATA=/sdcard dalvikvm -cp /sdcard/HelloWorld.zip HelloWorld