blob: 5c4da0a3d67612dd211a88cc800a912b98325337 [file] [log] [blame] [view] [edit]
# In-App Java Example
This example shows how to write custom java code in `android/app/src` and call
it using `jnigen` generated bindings.
#### How to run this example:
- Run `flutter run` to run the app.
- To regenerate bindings after changing Java code, run
`flutter pub run jnigen --config jnigen.yaml`. This requires at least one APK
build to have been run before, so that it's possible for `jnigen` to obtain
classpaths of Android Gradle libraries. Therefore, once run
`flutter build apk` before generating bindings for the first time, or after a
`flutter clean`.
#### General steps
These are general steps to integrate Java code into a flutter project using
`jnigen`.
- Write Java code in suitable package folder, under `android/` subproject of the
flutter app.
- Create A jnigen config like `jnigen.yaml` in this example.
- Generate bindings using jnigen config.
- Add proguard rules to exclude your custom classes from tree shaking, since
they are always accessed reflectively in JNI.
- Build and run the app.