That's because Android uses Davik Virtual Machine and not traditional JVM. The class file i.e the byte code for Android is first optimized even more to make it mobile friendly (Which usually has a custom format according to specifications of Dalvik VM),which differs from normal bytecode.Hence direct JAVA bytecode wont't run