jni 0.7.0 jni: ^0.7.0 copied to clipboard
A library to access JNI from Dart and Flutter that acts as a support library for package:jnigen.
This is a support library to access JNI from Dart / Flutter code. This provides the common infrastructure to bindings generated by jnigen, as well as some utility methods.
This library contains:
- Functions to access the JNIEnv and JavaVM variables from JNI, and wrapper functions to those provided by JNI. JNIEnv is exposed via
GlobalJniEnvtype which provides a thin abstraction over JNIEnv, so that it can be used from multiple threads.
- Functions to spawn a JVM on desktop platforms (
- Some Android-specific helpers (get application context and current activity references).
JObjectclass, which provides base class for classes generated by jnigen.
- Commonly used Java classes like
Apart from being the base library for code generated by
jnigen this can also be used for one-off uses of the JNI and debugging. To generate type-safe bindings from Java libraries, use
The test/ directory contains files with comments explaining the basics of this module, and the example/ directory contains a flutter example which also touches some Android-specifics.
Using this library assumes some familiarity with JNI - it's threading model and object references, among other things.