# dex2jar

> Java toolkit that converts Android DEX bytecode, including DEX inside APKs, into JVM .class files packed as a jar for Java decompilers and bytecode tools. It also reads and writes DEX through an ASM-like API, disassembles and assembles smali with its own implementation, converts jars back to DEX and ships helpers such as d2j-decrypt-string.

- Type: Tool
- Targets: App
- Category: Android tools
- Relationship: Foundation tool
- Sources reviewed: 2026-10-19
- Added to the catalog: 2026-10-30
- Original resource: <https://github.com/pxb1988/dex2jar>
- Primary source: <https://github.com/pxb1988/dex2jar/blob/b5bda4fb4935ae8b3869b422454ae3b3896c7bc1/README.md>
- Catalog page: <https://awesomerea.org/resources/dex2jar/>
- Record JSON: <https://awesomerea.org/resources/dex2jar/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/dex2jar/index.md)

## Requirements & limits

- The latest release, v2.4 of 2023-10-03 with the note “bugfix”, is the reviewed 2.x head, and no commits have followed it. Its download is dex-tools-v2.4.zip, while the README build steps still name a 2.1-SNAPSHOT archive. The README lists GitHub as the project's home after earlier Google Code, Bitbucket and SourceForge hosting.
- Everything runs on Java: the build targets Java 8 with the Gradle 6.9.1 wrapper, ASM 9.5 and ANTLR 4.9.3, which d2j-smali keeps because newer ANTLR versions need Java 11+. The d2j-* commands are generated as shell and batch launchers. The CI workflow runs gradle check and distZip on JDK 8 for pushes, pull requests and release tags.
- Input is a .dex or .odex file, or an APK or zip containing DEX, from the user's own app; the reader accepts DEX versions 035 to 040 and tries others with a warning. Output is a jar of class files rather than Java source, so reading code still needs a separate Java decompiler. Test resources hold small DEX and zip samples, and dex-translator/libs carries an Android dx 30.0.2 jar.
- Apache-2.0, with copyright notices in LICENSE.txt and NOTICE.txt.

## Primary sources

1. <https://github.com/pxb1988/dex2jar/blob/b5bda4fb4935ae8b3869b422454ae3b3896c7bc1/README.md>
2. <https://github.com/pxb1988/dex2jar/blob/b5bda4fb4935ae8b3869b422454ae3b3896c7bc1/build.gradle>
3. <https://github.com/pxb1988/dex2jar/blob/b5bda4fb4935ae8b3869b422454ae3b3896c7bc1/d2j-smali/build.gradle>
4. <https://github.com/pxb1988/dex2jar/blob/b5bda4fb4935ae8b3869b422454ae3b3896c7bc1/dex-tools/src/main/bin_gen/class.cfg>
5. <https://github.com/pxb1988/dex2jar/blob/b5bda4fb4935ae8b3869b422454ae3b3896c7bc1/dex-reader/src/main/java/com/googlecode/d2j/reader/DexFileReader.java>
6. <https://github.com/pxb1988/dex2jar/blob/b5bda4fb4935ae8b3869b422454ae3b3896c7bc1/.github/workflows/gradle.yml>
7. <https://github.com/pxb1988/dex2jar/blob/b5bda4fb4935ae8b3869b422454ae3b3896c7bc1/gradle/wrapper/gradle-wrapper.properties>
8. <https://github.com/pxb1988/dex2jar/blob/b5bda4fb4935ae8b3869b422454ae3b3896c7bc1/LICENSE.txt>
9. <https://github.com/pxb1988/dex2jar/blob/b5bda4fb4935ae8b3869b422454ae3b3896c7bc1/NOTICE.txt>
10. <https://github.com/pxb1988/dex2jar/releases/tag/v2.4>

## More in Apps

- [apk.sh](https://awesomerea.org/resources/apk-sh/index.md) · Tool
- [FIRERPA (lamda)](https://awesomerea.org/resources/firerpa-lamda/index.md) · Tool
- [Binder Trace](https://awesomerea.org/resources/binder-trace/index.md) · Tool
- [Quark-Engine](https://awesomerea.org/resources/quark-engine/index.md) · Tool
- [Dexcalibur (Reversense)](https://awesomerea.org/resources/dexcalibur/index.md) · Tool
- [vdexExtractor](https://awesomerea.org/resources/vdexextractor/index.md) · Tool

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
