In fact, the android studio does the conversion , and the term you used "compress" happens by default when you create it.
The compilation process for Android applications is very different from other Java applications. But it starts the same way: Java source code files are compiled into files .classusing the command javac:
.class - Java JVM Java. Android- . Android , Dalvik. - Dalvik, - Oracle JVM, .
.class .jar classes.dex, - Dalvik. dx:
classes.dex .

classes.dex , , zip , Android .apk. Android aapt:

proguard
- Shrink - , , .
- - - .
- Obfuscate - , .
, .
, Android,
.
.