mkdir build
cd build/
cmake ..
make g++ -o test -Iinclude dexdump/DexDump.cpp libdex/*.cpp -lz -w.
├── dexdump
├── include
│ ├── libdex
│ ├── utils
│ └── vm
└── libdex
- 将AOSP中的
/dalvik/dexdump中的dexdump和libdex目录拷贝过来。- 对应目录
dexdump和libdex。
- 对应目录
- 然后将
libdex中的所有.h复制到include/libdex目录中。- 统一头文件存放位置。
地址:https://github.com/xia0pin9/dexdump
- 拉取上述地址的项目,将其中的
utils和vm目录复制到include目录中。- 对应
include/utils和include/vm目录。
- 对应
- 复制项目中
libdex目录中的ZipArchive.cpp和CmdUtils.cpp文件,替换原libdex中的对应文件- 主要是新版的
zip相关代码改动太大,其中ZipArchive.cpp可能没有源文件对应,直接放到libdex中即可。
- 主要是新版的
- 复制项目中的
libdex/ZipArchive.h文件替换原文件libdex和include/libdex中的都替换一下
- github项目中,使用
../方式引用部分头文件,统一去掉../- 通过
cmake保证引用正确
- 通过
- 将
libdex/DexFile.h中的#include <log/log.h>替换成#include "vm/Common.h"