Runs the attack-test suite from ../src/test/java against the Android runtime, exercising
the harmony based DOM and SAX factories that ship with Android. The Maven build does not include this
module; it is a standalone Gradle build kept separate so the default mvn goal stays JVM only.
-
JDK 17 on
PATH(AGP 8.x requires it). -
Android SDK with
platforms/android-34andbuild-tools/34.0.0installed; exportANDROID_HOME(orANDROID_SDK_ROOT) to point at it. -
Either an attached emulator/device (
adb devicesshows it) or the AGP managed device bundled into this build (api31, AOSP system image). -
The library JAR built by the parent Maven build:
cd .. && mvn -DskipTests package
Against an attached emulator/device:
./gradlew connectedAndroidTest
Against the bundled AGP managed device (downloads the AOSP API 31 system image on first run, then provisions and tears down a headless emulator for each invocation):
./gradlew api31DebugAndroidTest
The build excludes JUnit 5 tags for JAXP types Android does not ship:
stax: there is noXMLInputFactoryon Android.schema: there is noSchemaFactoryon Android.xpath3: relies on Saxon, which is not on the Android classpath.
DOM, SAX, TrAX and XPath 1.0 paths are exercised in full.