Name Date Size #Lines LOC

..--

baksmali/H25-Apr-2025-7,7044,704

deodexerant/H25-Apr-2025-15193

dexlib2/H25-Apr-2025-74,33342,423

examples/H25-Apr-2025-740517

gradle/wrapper/H25-Apr-2025-65

scripts/H25-Apr-2025-17278

smali/H25-Apr-2025-39,91630,175

smali-integration-tests/src/H25-Apr-2025-144,419142,871

third_party/H25-Apr-2025-8,9266,527

util/H25-Apr-2025-1,233779

.gitignoreH A D25-Apr-2025156 1312

AUTHORSH A D25-Apr-2025227 96

Android.bpH A D25-Apr-20251.1 KiB3833

CONTRIBUTING.mdH A D25-Apr-20251.1 KiB2921

LICENSEH A D25-Apr-202515.6 KiB295242

METADATAH A D25-Apr-2025596 2018

OWNERSH A D25-Apr-202539 32

README.mdH A D25-Apr-20253.1 KiB7256

build.gradleH A D25-Apr-20257 KiB211184

gradle.propertiesH A D25-Apr-202547 22

gradlewH A D25-Apr-20255.6 KiB186125

gradlew.batH A D25-Apr-20252.7 KiB9068

settings.gradleH A D25-Apr-202579 11

README.md

1### About
2
3smali/baksmali is an assembler/disassembler for the dex format used by dalvik, Android's Java VM implementation. The syntax is loosely based on Jasmin's/dedexer's syntax, and supports the full functionality of the dex format (annotations, debug info, line info, etc.)
4
5**NOTE**: This is a fork of https://github.com/JesusFreke/smali for patches needed by Google as the original repository is currently not maintained. After forking the namespace was changed from `org.jf` to `com.android.tools.smali`. The artifacts are released on [Google Maven](https://maven.google.com) under the following coordinates:
6
7* [`com.android.tools.smali:smali:<version>`](https://maven.google.com/web/index.html?q=smali#com.android.tools.smali:smali)
8* [`com.android.tools.smali:smali-dexlib2:<version>`](https://maven.google.com/web/index.html?q=smali-dexlib2#com.android.tools.smali:smali-dexlib2)
9* [`com.android.tools.smali:smali-baksmali:<version>`](https://maven.google.com/web/index.html?q=smali-baksmali#com.android.tools.smali:smali)
10* [`com.android.tools.smali:smali-util:<version>`](https://maven.google.com/web/index.html?q=smali-util#com.android.tools.smali:smali-util)
11
12After the fork the first version released was 3.0.0, which was version 2.5.2 from the original repo with a few patches and the namespace change.
13
14#### Support
15- [github Issue tracker](https://github.com/google/smali/issues) - For any bugs/issues/feature requests
16
17#### Some useful links for getting started with smali
18
19- [Official dex bytecode reference](https://source.android.com/devices/tech/dalvik/dalvik-bytecode.html)
20- [Registers wiki page](https://github.com/JesusFreke/smali/wiki/Registers)
21- [Types, Methods and Fields wiki page](https://github.com/JesusFreke/smali/wiki/TypesMethodsAndFields)
22- [Official dex format reference](https://source.android.com/devices/tech/dalvik/dex-format.html)
23
24### Building
25```
26./gradlew assemble
27```
28### Command Line Version
29
30To run the `smali` and `baksmali` tools from the command line build the fat
31jars. The fat jars will be named with the current version followed by the first
328 characters of the current git hash followed by an optional `-dirty` if the
33repository was dirty when building and ending in  -fat . The fat jar can be
34invoked with `java -jar`.
35```
36./gradlew smali:fatJar
37java -jar smali/build/libs/smali-x.y.z-aaaaaaaa-dirty-fat.jar
38```
39
40### Testing
41
42To execute all tests run
43```
44./gradlew test
45```
46
47### Testing Maven Release
48Push a release version to your local maven repository (add
49`-Dmaven.repo.local=<dir>` to override the default local maven repository
50location)
51```
52./gradlew release publishToMavenLocal
53```
54
55### Prepare and build a release version
56To prepare a release update `build.gradle` with the next release version and commit that.
57Then create a tag for that commit with the version.
58```
59git tag <version> <commit>
60git push origin <version>
61```
62Release versions can then be built by the Google R8 team using:
63```
64tools/trigger.py --smali=<version> --release
65```
66in the R8 repository.
67
68The status of the build on the bot is at https://ci.chromium.org/p/r8/builders/ci/smali.
69
70### Releasing versions on Google Maven
71TBD.
72