libandroidfw: Add new support for shared libraries
This adds support for shared resource libraries in the new
ResTable/AssetManager implementation.
The dynamic package map encoded in resources.arsc is parsed
and stored with LoadedArsc, and combined to form a resolved table
in AssetManager2.
Benchmarks show that this implementation is an order of magnitude
faster on angler-userdebug (make libandroidfw_benchmarks).
Test: libandroidfw_tests
Change-Id: I57c80248728b63b162bf8269ac9495b53c3e7fa0
diff --git a/libs/androidfw/Android.bp b/libs/androidfw/Android.bp
index fb89835..ecf6bd4 100644
--- a/libs/androidfw/Android.bp
+++ b/libs/androidfw/Android.bp
@@ -38,6 +38,7 @@
"ResourceTypes.cpp",
"StreamingZipInflater.cpp",
"TypeWrappers.cpp",
+ "Util.cpp",
"ZipFileRO.cpp",
"ZipUtils.cpp",
],
@@ -82,6 +83,9 @@
},
windows: {
enabled: true,
+ cppflags: ["-Wno-missing-field-initializers"], // The Windows compiler warns
+ // incorrectly for value
+ // initialization with {}.
},
},
}