Merge "Add OWNERS file" am: 7332e116ef am: 3b919b9982 am: d4c500473e am: 4557f6ad5b

Original change: https://android-review.googlesource.com/c/platform/external/google-smali/+/2531185

Change-Id: I7203ceb1db2f2400698d84ddf98b6841e0b0b3b1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
tree: e77038a61ac36a2a67261952897eca8b9f84d1c3
  1. baksmali/
  2. deodexerant/
  3. dexlib2/
  4. examples/
  5. gradle/
  6. scripts/
  7. smali/
  8. smali-integration-tests/
  9. third_party/
  10. util/
  11. .gitignore
  12. AUTHORS
  13. build.gradle
  14. CONTRIBUTING.md
  15. gradle.properties
  16. gradlew
  17. gradlew.bat
  18. METADATA
  19. OWNERS
  20. README.md
  21. settings.gradle
README.md

About

smali/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.)

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.anroid.tools.smali. The artifacts are released on Google Maven under the following coordinates:

Support

Some useful links for getting started with smali

Building

./gradlew assemble

Command Line Version

To run the smali and baksmali tools from the command line build the fat jars. The fat jars will be named with the current version followed by the first 8 characters of the current git hash followed by an optional -dirty if the repository was dirty when building and ending in -fat . The fat jar can be invoked with java -jar.

./gradlew smali:fatJar
java -jar smali/build/libs/smali-x.y.z-aaaaaaaa-dirty-fat.jar

Testing

To execute all tests run

./gradlew test

Testing Maven Release

Push a release version to your local maven repository (add -Dmaven.repo.local=<dir> to override the default local maven repository location)

./gradlew release publishToMavenLocal