OSDN Git Service

Migrated dexdump from Dalvik (libdex) into Art (libart)
authorAart Bik <ajcbik@google.com>
Wed, 1 Jul 2015 21:52:26 +0000 (14:52 -0700)
committerAart Bik <ajcbik@google.com>
Mon, 6 Jul 2015 18:33:07 +0000 (11:33 -0700)
commit69ae54abd4eaad54dc73b75ea7c8051aa515581d
treeaefa425ee72a15dff5f542c14808a717b266709a
parent01b2129de3e182b79aa820e71fc7fa1ef42f2d35
Migrated dexdump from Dalvik (libdex) into Art (libart)

Rationale:
The new dexdump (temporarily called dexdump2 until we are
satisfied with the migration) is a re-implementation of the
original dexdump utility that was based on Dalvik functions
in libdex into a new dexdump that is now based on Art functions
in libart instead.

The output is identical to the original for *correct* DEX files.
Output in error messages and the usage() may differ, however,
since the new utility relies on Art parsing and verification.

NOTE 1:
ODEX files are no longer supported.

NOTE 2:
Where possible, I kept the file as close to the original
as possible, including some archaic C idioms on memory
allocation; those can be improved over time.

NOTE 3:
I used the standard Android.mk format for the new dexdump,
but this probably needs to be Art-i-fied.

NOTE 4:
Some minor issues that need resolution are marked with a TODO.

Bug: 17442393
Change-Id: I753743f64afcf4b84b8d33efbd1cfcb7908f0c3e
14 files changed:
Android.mk
build/Android.gtest.mk
dexdump/Android.mk [new file with mode: 0755]
dexdump/dexdump.cc [new file with mode: 0644]
dexdump/dexdump.h [new file with mode: 0644]
dexdump/dexdump_main.cc [new file with mode: 0644]
dexdump/dexdump_test.cc [new file with mode: 0644]
test/dexdump/bytecodes.dex [new file with mode: 0755]
test/dexdump/bytecodes.txt [new file with mode: 0755]
test/dexdump/bytecodes.xml [new file with mode: 0755]
test/dexdump/checkers.dex [new file with mode: 0755]
test/dexdump/checkers.txt [new file with mode: 0755]
test/dexdump/checkers.xml [new file with mode: 0755]
test/dexdump/run-all-tests [new file with mode: 0755]