10个版本
0.5.0 | 2021年5月31日 |
---|---|
0.4.0 | 2019年12月13日 |
0.3.1 | 2019年12月1日 |
0.3.0 | 2019年11月29日 |
0.1.1 | 2019年11月18日 |
#1417 在 解析器实现
每月108次下载
295KB
3K SLoC
Dex
Dex 是一个完全用 Rust 编写的用于解析 Android 的 Dex 格式的解析器。
实现了大部分访问文件中数据结构的功能。截至 v0.3.0,测试覆盖率达到了 81%
用法
将以下内容添加到您的 Cargo.toml
dex = "0.4.0"
文档
dex 格式的文档主要来源是Android 网站。此 crate 中的大多数公共 struct
和 method
与名称相同。这里有几个示例这里 以帮助您开始。
开发说明
运行测试用例
一些测试用例包含 Java 代码,需要 javac
和 d8。另一种选择是打开 PR 并使用 travis 设置进行测试。
- 要获取
d8
,您需要安装 Android SDK 并将Android/Sdk/build-tools/<version>/
目录添加到 PATH 变量中。 - 对于
javac
,您需要安装 Java。 - 此外,需要在环境中设置
ANDROID_LIB_PATH
变量。它应指向 SDK 中的android.jar
文件。(例如:Android/Sdk/platforms/android-<version>/android.jar
)。这是为了避免运行d8
时出现警告所必需的。 - 使用
cargo install cargo-tarpaulin
并运行cargo tarpaulin
来获取测试覆盖率。
贡献
欢迎所有贡献!如果您发现bug、有问题或者认为可以改进,请随意在Github上提出问题/PR。在提交PR时,请添加测试!
依赖
约4MB
约75K SLoC