tree: 2662d140f11b52925b01316c2bfe0db44c2f6e2f
  1. android/
  2. lib/
  3. tool/
  4. .metadata
  5. analysis_options.yaml
  6. pubspec.yaml
  7. README.md
pkgs/jnigen/example/in_app_java/README.md

In-App Java Example

This example shows how to write custom java code in android/app/src and call it using bindings generated by JNIgen.

How to run this example:

  • Run flutter run to run the app.

General steps

These are general steps to integrate Java code into a Flutter project using JNIgen.

  • Place Java code in a suitable package folder under the android/ subproject of the flutter app.
  • Create a JNIgen configuration script like tool/jnigen.dart in this example.
  • Run flutter pub get.
  • Generate bindings by running that script with dart run.
  • To prevent tree shaking of your custom classes (which are always accessed reflectively in JNI) use either the @Keep annotation (androidx.annotation.Keep) for code written in the application itself, or a proguard-rules file for external libraries.
  • Build and run the app.