reducing the msix sdk binary size for android by ~3.5MB by switching to use the inbox android java xml no validation parser instead of xerces. This reduces the libmsix.so from ~5.8MB to ~2.3 MB.
- Need to use JNI interop for accessing the java xml parser elements. Made sure that local refs to java objects are released when done.
-by default on android, it will use javaxml. For flexibility, if one still wants to use the native xerces parse, they can use the -parser-xerces build flag.
- verified that androidBVT tests pass.
Related work items: #18565184
This change removes the size of the Android binary by around 5MB and decreases our build time for all platforms.
- Remove C++ runtime static dependency on Android by changing Xerces to be a subtree instead of a submodule.
- Subtree made from Xerces repo tag Xerces-C_3_2_0 commit dffc3028df8ea44985c92f2df28115860e39e344
- Changes to Xerces to avoid using mblen and use mbrlen to be able to compile for Android API level 19
- Adds switch to build Xerces tests and samples (OFF by default)
- Changes AOSP scripts to build for level 19
Related work items: #15424024