17 stable releases (5 major)
5.5.0 | Jul 3, 2024 |
---|---|
5.4.0 | Nov 30, 2023 |
5.0.2 | Jun 23, 2023 |
5.0.1 | Mar 23, 2023 |
0.3.0 | Jun 13, 2017 |
#167 in Development tools
523 downloads per month
Used in symbolic-proguard
490KB
2.5K
SLoC
Rust Proguard Parser
A simple Rust library that implements basic proguard handling.
Release Management
We use craft to release new versions.
lib.rs
:
This crate implements handling of proguard mapping files.
The main use case is to re-map classes or complete stack frames, but it can also be used to parse a proguard mapping line-by-line.
The uuid
feature also allows getting the UUID of the proguard file.
Examples
let mapping = r#"
android.arch.core.internal.SafeIterableMap -> a.a.a.b.c:
13:13:java.util.Map$Entry eldest():168:168 -> a
"#;
let mapper = proguard::ProguardMapper::from(mapping);
// re-mapping a classname
assert_eq!(
mapper.remap_class("a.a.a.b.c"),
Some("android.arch.core.internal.SafeIterableMap"),
);
// re-map a stack frame
assert_eq!(
mapper
.remap_frame(&proguard::StackFrame::new("a.a.a.b.c", "a", 13))
.collect::<Vec<_>>(),
vec![proguard::StackFrame::new(
"android.arch.core.internal.SafeIterableMap",
"eldest",
168
)],
);