[package]
edition = "2024"
rust-version = "1.88"
name = "rust-apk"
version = "1.0.0"
build = "build.rs"
exclude = [
"tools/",
"REVIEW.md",
".oracles.env",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Build, align, sign, verify, and inspect Android APKs in pure Rust"
readme = "README.md"
keywords = [
"android",
"apk",
"apksigner",
"zipalign",
"manifest",
]
categories = [
"development-tools::build-utils",
"encoding",
"parser-implementations",
]
license = "Apache-2.0 OR MIT"
[features]
default = ["keystore"]
keystore = [
"dep:p12-keystore",
"dep:jks",
"pkcs8/encryption",
"pkcs8/sha1-insecure",
]
[lib]
name = "apk"
path = "src/lib.rs"
[[test]]
name = "aapt2_parity"
path = "tests/aapt2_parity.rs"
[[test]]
name = "build"
path = "tests/build.rs"
[[test]]
name = "read"
path = "tests/read.rs"
[[test]]
name = "resource_parity"
path = "tests/resource_parity.rs"
[[test]]
name = "sign"
path = "tests/sign.rs"
[dependencies.base64]
version = "0.23"
[dependencies.binrw]
version = "0.15"
[dependencies.bitflags]
version = "2"
[dependencies.cms]
version = "0.3.0-pre.1"
[dependencies.der]
version = "0.8"
features = [
"alloc",
"ber",
"derive",
"oid",
]
[dependencies.goblin]
version = "0.10"
features = [
"elf32",
"elf64",
"endian_fd",
"std",
]
default-features = false
[dependencies.jks]
version = "0.3"
optional = true
default-features = false
[dependencies.nutype]
version = "0.8"
[dependencies.p12-keystore]
version = "0.4"
optional = true
[dependencies.p256]
version = "0.14"
features = [
"ecdsa",
"pkcs8",
]
[dependencies.p384]
version = "0.14"
features = [
"ecdsa",
"pkcs8",
]
[dependencies.pem-rfc7468]
version = "1"
features = ["alloc"]
[dependencies.pkcs1]
version = "0.8.0-rc.5"
[dependencies.pkcs8]
version = "0.11"
features = ["alloc"]
[dependencies.quick-xml]
version = "0.42"
[dependencies.rsa]
version = "0.10.0-rc.19"
[dependencies.sha1]
version = "0.11"
features = ["oid"]
[dependencies.sha2]
version = "0.11"
features = ["oid"]
[dependencies.signature]
version = "3"
[dependencies.spki]
version = "0.8"
features = ["alloc"]
[dependencies.tempfile]
version = "3.20"
[dependencies.thiserror]
version = "2"
[dependencies.x509-cert]
version = "0.3"
[dependencies.zeroize]
version = "1"
[dependencies.zip]
version = "9"
features = ["deflate-flate2-zlib-rs"]
default-features = false
[build-dependencies.proc-macro2]
version = "1"
[build-dependencies.quote]
version = "1"