Parse APK manifest to extract version etc
Add libapkmanifest to encapsulate the parsing, with a small C++
library on top of libandroidfw.
Extract the zip-handling code from libapkverify into a separate
libapkzip, and fix up a bunch of tests tests, to keep the build happy.
We don't do anything with the manifest information except log it; more
to come in another CL.
Bug: 299591171
Test: atest libapkzip.test libapkverify.integration_test
libapkverify.test
Test: Manual - run VM, inspect logs.
Change-Id: I56d3bb7309d43ecb598a33320705d31948710f83
diff --git a/libs/apkverify/Android.bp b/libs/apkverify/Android.bp
index d3aa7ee..1c18d2d 100644
--- a/libs/apkverify/Android.bp
+++ b/libs/apkverify/Android.bp
@@ -7,10 +7,10 @@
crate_name: "apkverify",
defaults: ["avf_build_flags_rust"],
srcs: ["src/lib.rs"],
- prefer_rlib: true,
edition: "2021",
rustlibs: [
"libanyhow",
+ "libapkzip",
"libbyteorder",
"libbytes",
"libhex",
@@ -18,7 +18,6 @@
"libnum_traits",
"libopenssl",
"libserde",
- "libzip",
],
proc_macros: ["libnum_derive"],
}
@@ -34,6 +33,7 @@
rust_test {
name: "libapkverify.test",
defaults: ["libapkverify.defaults"],
+ prefer_rlib: true,
test_suites: ["general-tests"],
data: ["tests/data/*"],
}
@@ -49,6 +49,8 @@
rustlibs: [
"libandroid_logger",
"libapkverify",
+ "libapkzip",
+ "libbyteorder",
"liblog_rust",
"libzip",
],