dxcut is a library for reading, editing, and writing dex and odex files which contain the class definition and Dalvik bytecode used by the Android operating system. This project includes a disassembler/decompiler, dex optimizer, and hooking utils.
JavaDecompiler, Disassembler and Bytecode debugger. Decompiler supports Java 5 (e.g. generics, for-each loops etc). Debugger allows user to step through each bytecode and view program state. Contains Swing GUI.
JReversePro is a JavaDecompiler / Disassembler written in Java. Facility to view the ConstantPool contents is available. AWT, Swing and command-line versions are present.