Skip to main content

apk/
lib.rs

1//! Build, align, sign, verify, and inspect Android APKs without SDK subprocesses.
2//!
3//! [`ApkBuilder`] compiles manifests and resources, packages native libraries,
4//! and writes atomically. [`sign::Signer`] signs existing APKs; [`sign::verify`]
5//! checks signature integrity and scheme coverage without establishing trust.
6
7pub mod android;
8mod apk;
9pub mod archive;
10pub mod build;
11mod content;
12mod digest;
13pub mod error;
14mod fs;
15pub mod manifest;
16pub mod native;
17pub mod res;
18pub mod sign;
19pub mod types;
20pub mod xml;
21pub use apk::Apk;
22pub use build::ApkBuilder;
23pub use content::Content;
24pub use error::{Error, Result, ValueError};
25pub use manifest::Manifest;
26pub use res::Resources;
27pub use types::*;
28
29/// Common building, signing, and reading types.
30pub mod prelude {
31    pub use crate::android::attr;
32    pub use crate::build::ApkBuilder;
33    pub use crate::manifest::{self, Manifest};
34    pub use crate::native::{LibraryStorage, NativePolicy, PageSize};
35    pub use crate::res::{Config, Density, Locale, ResourceType, Resources};
36    pub use crate::sign::{Schemes, Signer, SigningIdentity, verify};
37    pub use crate::types::{
38        Abi, ApiLevel, ArchivePath, ClassName, LibraryName, PackageName, PermissionName, VersionCode,
39    };
40    pub use crate::{Apk, Error, Result};
41}