This package defines a Java interface for the np_adv
library.
This package is split into directories:
java/
- The Java library with native
methods.src/
- The Rust library that implements the native
Java methods.classes/
- Contains Rust files matching Java classes from java/
. Code in these files will implement the native
methods for the associated Java class.test/
- Java tests that test the Java library and underlying native code.The build is controlled by the following files:
build.gradle.kts
- Defines the builds for java/
and test/
along with Java dependencies for the Java library.settings.gradle.kts
- Defines where local Java dependencies are located.Cargo.toml
- Defines the Rust .so binary that is loaded by the Java library.This library defines the following build_scripts actions:
run-np-java-ffi-tests
- Builds the package and runs the Java test suite.Additional configs for external use:
AndroidManifest.xml
- Defines the Android minSdkVersion
required by the Java library.used_by_native.pgcfg
- Defines proguard exclusions for the @UsedByNative
annotation, so that native code can access Java structures.