[jnigen] Rename to jnigen (https://github.com/dart-lang/jnigen/issues/47)

diff --git a/.github/workflows/test-package.yml b/.github/workflows/test-package.yml
index 9bae125..80dba5c 100644
--- a/.github/workflows/test-package.yml
+++ b/.github/workflows/test-package.yml
@@ -25,11 +25,11 @@
         with:
           args: "--set-exit-if-changed"
 
-  analyze_jni_gen:
+  analyze_jnigen:
     runs-on: ubuntu-latest
     defaults:
       run:
-        working-directory: ./pkgs/jni_gen
+        working-directory: ./pkgs/jnigen
     strategy:
       fail-fast: false
       matrix:
@@ -49,12 +49,12 @@
         run: dart analyze --fatal-infos
         if: always() && steps.install.outcome == 'success'
 
-  test_jni_gen:
-    needs: analyze_jni_gen
+  test_jnigen:
+    needs: analyze_jnigen
     runs-on: ${{ matrix.os }}
     defaults:
       run:
-        working-directory: ./pkgs/jni_gen
+        working-directory: ./pkgs/jnigen
     strategy:
       fail-fast: false
       matrix:
@@ -83,19 +83,19 @@
         uses: coverallsapp/github-action@v1.1.2
         with:
           github-token: ${{ secrets.GITHUB_TOKEN }}
-          flag-name: jni_gen_tests
+          flag-name: jnigen_tests
           parallel: true
-          path-to-lcov: ./pkgs/jni_gen/coverage/lcov.info
+          path-to-lcov: ./pkgs/jnigen/coverage/lcov.info
 
   ## TODO: More minimal test on windows after fixing dev dependency.
   ## i.e do not rerun analyze and format steps, and do not require flutter.
-  ## IssueRef: https://github.com/dart-lang/jni_gen/issues/15
+  ## IssueRef: https://github.com/dart-lang/jnigen/issues/15
 
   test_summarizer:
     runs-on: ubuntu-latest
     defaults:
       run:
-        working-directory: ./pkgs/jni_gen/java
+        working-directory: ./pkgs/jnigen/java
     steps:
       - uses: actions/checkout@v2
       - uses: actions/setup-java@v2
@@ -216,7 +216,7 @@
     runs-on: ubuntu-latest
     defaults:
       run:
-        working-directory: ./pkgs/jni_gen/examples/notification_plugin
+        working-directory: ./pkgs/jnigen/examples/notification_plugin
     steps:
       - uses: actions/checkout@v3
       - uses: actions/setup-java@v2
@@ -231,9 +231,9 @@
       - run: flutter pub get
       - run: flutter analyze
       - run: flutter build apk
-        working-directory: ./pkgs/jni_gen/examples/notification_plugin/example
+        working-directory: ./pkgs/jnigen/examples/notification_plugin/example
       - name: re-generate bindings
-        run: flutter pub run jni_gen -Ddart_root=_dart -Dc_root=_c --config jnigen.yaml
+        run: flutter pub run jnigen -Ddart_root=_dart -Dc_root=_c --config jnigen.yaml
       - name: compare generated dart bindings
         run: diff -qr lib/ _dart
       - name: compare generated C bindings
@@ -243,7 +243,7 @@
     runs-on: ubuntu-latest
     defaults:
       run:
-        working-directory: ./pkgs/jni_gen/examples/in_app_java
+        working-directory: ./pkgs/jnigen/examples/in_app_java
     steps:
       - uses: actions/checkout@v3
       - uses: actions/setup-java@v2
@@ -259,14 +259,14 @@
       - run: flutter analyze
       - run: flutter build apk
       - name: re-generate bindings
-        run: flutter pub run jni_gen -Ddart_root=_dart -Dc_root=_c --config jnigen.yaml
+        run: flutter pub run jnigen -Ddart_root=_dart -Dc_root=_c --config jnigen.yaml
       - name: compare generated dart bindings
         run: diff -qr lib/android_utils _dart
       - name: compare generated C bindings
         run: diff -qr src/android_utils _c
 
   coveralls_finish:
-    needs: [test_jni_gen, test_jni]
+    needs: [test_jnigen, test_jni]
     runs-on: ubuntu-latest
     steps:
       - name: Coveralls finished
@@ -279,7 +279,7 @@
     runs-on: ubuntu-latest
     defaults:
       run:
-        working-directory: ./pkgs/jni_gen/examples/pdfbox_plugin
+        working-directory: ./pkgs/jnigen/examples/pdfbox_plugin
     steps:
       - uses: actions/checkout@v3
       - uses: subosito/flutter-action@v2
@@ -298,13 +298,13 @@
       - run: dart pub get
       - name: Generate bindings
         run: |
-          dart run jni_gen -Dc_root=_c -Ddart_root=_dart --config jnigen.yaml
+          dart run jnigen -Dc_root=_c -Ddart_root=_dart --config jnigen.yaml
       - name: Compare generated bindings
         run: |
           diff -qr _c src/
           diff -qr _dart lib/third_party
       - name: Generate full bindings
-        run: dart run jni_gen --config jnigen_full.yaml
+        run: dart run jnigen --config jnigen_full.yaml
       - name: Analyze generated bindings
         run: |
           flutter pub get # dart-analyze errors on flutter example
@@ -315,10 +315,10 @@
           dart run jni:setup && dart run jni:setup -p pdfbox_plugin
           wget 'https://dart.dev/guides/language/specifications/DartLangSpec-v2.2.pdf'
           dart run bin/pdf_info.dart DartLangSpec-v2.2.pdf
-        working-directory: ./pkgs/jni_gen/examples/pdfbox_plugin/dart_example
+        working-directory: ./pkgs/jnigen/examples/pdfbox_plugin/dart_example
       - name: Build flutter example for pdfbox_plugin
         run: |
           flutter pub get
           flutter build linux
-        working-directory: ./pkgs/jni_gen/examples/pdfbox_plugin/example
+        working-directory: ./pkgs/jnigen/examples/pdfbox_plugin/example
 
diff --git a/pkgs/jni/README.md b/pkgs/jni/README.md
index 73f122a..12d41fb 100644
--- a/pkgs/jni/README.md
+++ b/pkgs/jni/README.md
@@ -1,6 +1,6 @@
 # jni (experimental module)
 
-This is a utility library to access JNI from Dart / Flutter code, intended as a supplement for `jnigen` code generator, as well as provide the common base components (such as managing the JVM instance) to the code generated by `jni_gen`.
+This is a utility library to access JNI from Dart / Flutter code, intended as a supplement for `jnigen` code generator, as well as provide the common base components (such as managing the JVM instance) to the code generated by `jnigen`.
 
 This library contains:
 
@@ -14,9 +14,9 @@
 
 * Some helper classes and functions to simplify one-off uses (`JniObject` and `JniClass` intended for calling functions by specifying the name and arguments. It will reduce some boilerplate when you're debugging. Note: this API is slightly incomplete).
 
-This is intended for one-off / debugging uses of JNI, as well as providing a base library for code generated by jni_gen. 
+This is intended for one-off / debugging uses of JNI, as well as providing a base library for code generated by jnigen. 
 
-__To interface a complete java library, look forward for `jni_gen`.__
+__To interface a complete java library, look forward for `jnigen`.__
 
 ## Platform support
 The focus of this project is Flutter Android, since Flutter Android apps already have a JVM, and JNI enables interop with existing Java code and Android Platform APIs. This project also (partially) supports Linux desktop by spawning a JVM through JNI.
@@ -29,9 +29,9 @@
 
 Using this library assumes some familiarity with JNI - it's threading model and object references, among other things.
 
-## jni_gen
+## jnigen
 
-This library is a part of `jni_gen` - a 2022 GSoC project.
+This library is a part of `jnigen` - a 2022 GSoC project.
 
-The broader aim of jni_gen is making Java APIs accessible from dart in an idiomatic way.
+The broader aim of jnigen is making Java APIs accessible from dart in an idiomatic way.
 
diff --git a/pkgs/jni/bin/setup.dart b/pkgs/jni/bin/setup.dart
index c4befc6..1e7344a 100644
--- a/pkgs/jni/bin/setup.dart
+++ b/pkgs/jni/bin/setup.dart
@@ -37,7 +37,7 @@
   int? time;
   // TODO: time commands
   // TODO: Run all commands in single shell instance
-  // IssueRef: https://github.com/dart-lang/jni_gen/issues/14
+  // IssueRef: https://github.com/dart-lang/jnigen/issues/14
   Future<CommandRunner> run(
       String exec, List<String> args, String workingDir) async {
     if (printCmds) {
diff --git a/pkgs/jni/lib/src/extensions.dart b/pkgs/jni/lib/src/extensions.dart
index 995eb58..281460e 100644
--- a/pkgs/jni/lib/src/extensions.dart
+++ b/pkgs/jni/lib/src/extensions.dart
@@ -67,7 +67,7 @@
       // TODO: Doing this every time is expensive.
       // Should lookup and cache method reference,
       // and keep it alive by keeping a reference to Exception class.
-      // IssueRef: https://github.com/dart-lang/jni_gen/issues/13
+      // IssueRef: https://github.com/dart-lang/jnigen/issues/13
       final ecls = GetObjectClass(exc);
       final toStr = GetMethodID(ecls, _toString, _toStringSig);
       final jstr = CallObjectMethod(exc, toStr);
diff --git a/pkgs/jni_gen/README.md b/pkgs/jni_gen/README.md
deleted file mode 100644
index 1ba0193..0000000
--- a/pkgs/jni_gen/README.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# Experimental generator for FFI+JNI bindings.
-
-This package will generate JNI code to invoke Java from C, and Dart FFI bindings to invoke this C code.
-This enables calling Java code from Dart.
-
-This is a GSoC 2022 project.
-
-Currently this package is highly experimental and proof-of-concept. See `test/jackson_core_test` for an example of generating bindings for a library. It is possible to specify some dependencies to be downloaded automatically through `maven`.
-
-## Basics
-### Running `jni_gen`
-There are 2 ways to use `jni_gen`:
-
-* Import `package:jni_gen/jni_gen.dart` from a script in `tool/` directory of your project.
-* Run as command line tool with a YAML config.
-
-Both approaches are almost identical. If using YAML, it's possible to selectively override configuration properties with command line, using `-Dproperty.name=value` syntax.
-
-### Generated bindings
-Generated bindings will consist of 2 parts - C bindings which call JNI, and Dart bindings which call C bindings. The generated bindings will depend on `package:jni` for instantiating / obtaining a JVM instance.
-
-The following properties must be specified in yaml.
-
-* `c_root`: root folder to write generated C bindings.
-* `dart_root`: root folder to write generated Dart bindings (see below).
-* `library_name`: specifies name of the generated library in CMakeFiles.txt.
-
-The generated C file has to be linked to JNI libraries. Therefore a CMake configuration is always generated which builds the generated code as shared library. The `init.dart` in generated dart code loads the library on first time a method is accessed. On dart standalone, it will be loaded from the same directory specified in `Jni.spawn` call.
-
-## Examples
-Few runnable examples are provided in [examples/](examples/) directory. These directories do not include generated code. Generate the bindings by running `dart run jni_gen --config jnigen.yaml` in the example project root. See the respective READMEs for more details.
-
diff --git a/pkgs/jni_gen/examples/notification_plugin/README.md b/pkgs/jni_gen/examples/notification_plugin/README.md
deleted file mode 100644
index 1fcccdc..0000000
--- a/pkgs/jni_gen/examples/notification_plugin/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# notification_plugin
-
-Example of android plugin project with jni_gen.
-
-This plugin project contains [custom code](android/src/main/java/com/example/notification_plugin) which uses the Android libraries. The bindings are generated using [jnigen config](jnigen.yaml) and then used in [flutter example](example/lib/main.dart), with help of `package:jni` APIs.
-
-The command to regenerate JNI bindings is:
-```
-flutter run jni_gen --config jnigen.yaml # run from notification_plugin project root 
-```
-
-The `example/` app must be built at least once in _release_ mode (eg `flutter build apk`) before running jni_gen. This is the equivalent of Gradle Sync in Android Studio, and enables `jni_gen` to run a Gradle stub and determine release build's classpath, which contains the paths to relevant dependencies. Therefore a build must have been run after cleaning build directories, or updating Java dependencies. This is a known complexity of the Gradle build system, and if you know a solution, please contribute to issue discussion at #33.
-
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/README.md b/pkgs/jni_gen/examples/pdfbox_plugin/README.md
deleted file mode 100644
index 5fa64ea..0000000
--- a/pkgs/jni_gen/examples/pdfbox_plugin/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# pdfbox_plugin
-
-Example of a JNI plugin using `jni_gen` to auto-generate bindings for PDFBox java library.
-
-Bindings can be generated by running `dart run jni_gen --config jnigen.yaml`. Required source code and JARs will be downloaded using maven (requires `mvn` command).
-
-`jni_gen` is also available as an API which tooling scripts can use. See `tool/generate_bindings.dart` for the script equivalent of the YAML file.
-
diff --git a/pkgs/jni_gen/test/simple_package_test/java/com/github/dart_lang/jni_gen/pkg2/C2.java b/pkgs/jni_gen/test/simple_package_test/java/com/github/dart_lang/jni_gen/pkg2/C2.java
deleted file mode 100644
index 2c999c5..0000000
--- a/pkgs/jni_gen/test/simple_package_test/java/com/github/dart_lang/jni_gen/pkg2/C2.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.github.dart_lang.jni_gen.pkg2;
-
-public class C2 {
-  public static int CONSTANT = 12;
-}
diff --git a/pkgs/jni_gen/test/simple_package_test/src/simple_package.c b/pkgs/jni_gen/test/simple_package_test/src/simple_package.c
deleted file mode 100644
index b19daa6..0000000
--- a/pkgs/jni_gen/test/simple_package_test/src/simple_package.c
+++ /dev/null
@@ -1,189 +0,0 @@
-// Autogenerated by jni_gen. DO NOT EDIT!
-
-#include <stdint.h>
-#include "jni.h"
-#include "dartjni.h"
-
-thread_local JNIEnv *jniEnv;
-struct jni_context jni;
-
-struct jni_context (*context_getter)(void);
-JNIEnv *(*env_getter)(void);
-
-void setJniGetters(struct jni_context (*cg)(void),
-        JNIEnv *(*eg)(void)) {
-    context_getter = cg;
-    env_getter = eg;
-}
-
-// com.github.dart_lang.jni_gen.simple_package.Example
-jclass _c_com_github_dart_lang_jni_gen_simple_package_Example = NULL;
-
-jmethodID _m_com_github_dart_lang_jni_gen_simple_package_Example_ctor = NULL;
-FFI_PLUGIN_EXPORT
-jobject com_github_dart_lang_jni_gen_simple_package_Example_ctor() {
-    load_env();
-    load_class_gr(&_c_com_github_dart_lang_jni_gen_simple_package_Example, "com/github/dart_lang/jni_gen/simple_package/Example");
-    load_method(_c_com_github_dart_lang_jni_gen_simple_package_Example, &_m_com_github_dart_lang_jni_gen_simple_package_Example_ctor, "<init>", "()V");
-    jobject _result = (*jniEnv)->NewObject(jniEnv, _c_com_github_dart_lang_jni_gen_simple_package_Example, _m_com_github_dart_lang_jni_gen_simple_package_Example_ctor);
-    return to_global_ref(_result);
-}
-
-jmethodID _m_com_github_dart_lang_jni_gen_simple_package_Example_getAux = NULL;
-FFI_PLUGIN_EXPORT
-jobject com_github_dart_lang_jni_gen_simple_package_Example_getAux() {
-    load_env();
-    load_class_gr(&_c_com_github_dart_lang_jni_gen_simple_package_Example, "com/github/dart_lang/jni_gen/simple_package/Example");
-    load_static_method(_c_com_github_dart_lang_jni_gen_simple_package_Example, &_m_com_github_dart_lang_jni_gen_simple_package_Example_getAux, "getAux", "()Lcom/github/dart_lang/jni_gen/simple_package/Example$Aux;");
-    jobject _result = (*jniEnv)->CallStaticObjectMethod(jniEnv, _c_com_github_dart_lang_jni_gen_simple_package_Example, _m_com_github_dart_lang_jni_gen_simple_package_Example_getAux);
-    return to_global_ref(_result);
-}
-
-jmethodID _m_com_github_dart_lang_jni_gen_simple_package_Example_addInts = NULL;
-FFI_PLUGIN_EXPORT
-int32_t com_github_dart_lang_jni_gen_simple_package_Example_addInts(int32_t a, int32_t b) {
-    load_env();
-    load_class_gr(&_c_com_github_dart_lang_jni_gen_simple_package_Example, "com/github/dart_lang/jni_gen/simple_package/Example");
-    load_static_method(_c_com_github_dart_lang_jni_gen_simple_package_Example, &_m_com_github_dart_lang_jni_gen_simple_package_Example_addInts, "addInts", "(II)I");
-    int32_t _result = (*jniEnv)->CallStaticIntMethod(jniEnv, _c_com_github_dart_lang_jni_gen_simple_package_Example, _m_com_github_dart_lang_jni_gen_simple_package_Example_addInts, a, b);
-    return _result;
-}
-
-jmethodID _m_com_github_dart_lang_jni_gen_simple_package_Example_getSelf = NULL;
-FFI_PLUGIN_EXPORT
-jobject com_github_dart_lang_jni_gen_simple_package_Example_getSelf(jobject self_) {
-    load_env();
-    load_class_gr(&_c_com_github_dart_lang_jni_gen_simple_package_Example, "com/github/dart_lang/jni_gen/simple_package/Example");
-    load_method(_c_com_github_dart_lang_jni_gen_simple_package_Example, &_m_com_github_dart_lang_jni_gen_simple_package_Example_getSelf, "getSelf", "()Lcom/github/dart_lang/jni_gen/simple_package/Example;");
-    jobject _result = (*jniEnv)->CallObjectMethod(jniEnv, self_, _m_com_github_dart_lang_jni_gen_simple_package_Example_getSelf);
-    return to_global_ref(_result);
-}
-
-jmethodID _m_com_github_dart_lang_jni_gen_simple_package_Example_getNum = NULL;
-FFI_PLUGIN_EXPORT
-int32_t com_github_dart_lang_jni_gen_simple_package_Example_getNum(jobject self_) {
-    load_env();
-    load_class_gr(&_c_com_github_dart_lang_jni_gen_simple_package_Example, "com/github/dart_lang/jni_gen/simple_package/Example");
-    load_method(_c_com_github_dart_lang_jni_gen_simple_package_Example, &_m_com_github_dart_lang_jni_gen_simple_package_Example_getNum, "getNum", "()I");
-    int32_t _result = (*jniEnv)->CallIntMethod(jniEnv, self_, _m_com_github_dart_lang_jni_gen_simple_package_Example_getNum);
-    return _result;
-}
-
-jmethodID _m_com_github_dart_lang_jni_gen_simple_package_Example_setNum = NULL;
-FFI_PLUGIN_EXPORT
-void com_github_dart_lang_jni_gen_simple_package_Example_setNum(jobject self_, int32_t num) {
-    load_env();
-    load_class_gr(&_c_com_github_dart_lang_jni_gen_simple_package_Example, "com/github/dart_lang/jni_gen/simple_package/Example");
-    load_method(_c_com_github_dart_lang_jni_gen_simple_package_Example, &_m_com_github_dart_lang_jni_gen_simple_package_Example_setNum, "setNum", "(I)V");
-    (*jniEnv)->CallVoidMethod(jniEnv, self_, _m_com_github_dart_lang_jni_gen_simple_package_Example_setNum, num);
-}
-
-jfieldID _f_com_github_dart_lang_jni_gen_simple_package_Example_aux = NULL;
-jobject get_com_github_dart_lang_jni_gen_simple_package_Example_aux() {
-    load_env();
-    load_class_gr(&_c_com_github_dart_lang_jni_gen_simple_package_Example, "com/github/dart_lang/jni_gen/simple_package/Example");
-    load_static_field(_c_com_github_dart_lang_jni_gen_simple_package_Example, &_f_com_github_dart_lang_jni_gen_simple_package_Example_aux, "aux","Lcom/github/dart_lang/jni_gen/simple_package/Example$Aux;");
-    return to_global_ref((*jniEnv)->GetStaticObjectField(jniEnv, _c_com_github_dart_lang_jni_gen_simple_package_Example, _f_com_github_dart_lang_jni_gen_simple_package_Example_aux));
-}
-
-void set_com_github_dart_lang_jni_gen_simple_package_Example_aux(jobject value) {
-    load_env();
-    load_class_gr(&_c_com_github_dart_lang_jni_gen_simple_package_Example, "com/github/dart_lang/jni_gen/simple_package/Example");
-    load_static_field(_c_com_github_dart_lang_jni_gen_simple_package_Example, &_f_com_github_dart_lang_jni_gen_simple_package_Example_aux, "aux","Lcom/github/dart_lang/jni_gen/simple_package/Example$Aux;");
-    ((*jniEnv)->SetStaticObjectField(jniEnv, _c_com_github_dart_lang_jni_gen_simple_package_Example, _f_com_github_dart_lang_jni_gen_simple_package_Example_aux, value));
-}
-
-
-jfieldID _f_com_github_dart_lang_jni_gen_simple_package_Example_num = NULL;
-int32_t get_com_github_dart_lang_jni_gen_simple_package_Example_num() {
-    load_env();
-    load_class_gr(&_c_com_github_dart_lang_jni_gen_simple_package_Example, "com/github/dart_lang/jni_gen/simple_package/Example");
-    load_static_field(_c_com_github_dart_lang_jni_gen_simple_package_Example, &_f_com_github_dart_lang_jni_gen_simple_package_Example_num, "num","I");
-    return ((*jniEnv)->GetStaticIntField(jniEnv, _c_com_github_dart_lang_jni_gen_simple_package_Example, _f_com_github_dart_lang_jni_gen_simple_package_Example_num));
-}
-
-void set_com_github_dart_lang_jni_gen_simple_package_Example_num(int32_t value) {
-    load_env();
-    load_class_gr(&_c_com_github_dart_lang_jni_gen_simple_package_Example, "com/github/dart_lang/jni_gen/simple_package/Example");
-    load_static_field(_c_com_github_dart_lang_jni_gen_simple_package_Example, &_f_com_github_dart_lang_jni_gen_simple_package_Example_num, "num","I");
-    ((*jniEnv)->SetStaticIntField(jniEnv, _c_com_github_dart_lang_jni_gen_simple_package_Example, _f_com_github_dart_lang_jni_gen_simple_package_Example_num, value));
-}
-
-
-// com.github.dart_lang.jni_gen.simple_package.Example$Aux
-jclass _c_com_github_dart_lang_jni_gen_simple_package_Example__Aux = NULL;
-
-jmethodID _m_com_github_dart_lang_jni_gen_simple_package_Example__Aux_ctor = NULL;
-FFI_PLUGIN_EXPORT
-jobject com_github_dart_lang_jni_gen_simple_package_Example__Aux_ctor(uint8_t value) {
-    load_env();
-    load_class_gr(&_c_com_github_dart_lang_jni_gen_simple_package_Example__Aux, "com/github/dart_lang/jni_gen/simple_package/Example$Aux");
-    load_method(_c_com_github_dart_lang_jni_gen_simple_package_Example__Aux, &_m_com_github_dart_lang_jni_gen_simple_package_Example__Aux_ctor, "<init>", "(Z)V");
-    jobject _result = (*jniEnv)->NewObject(jniEnv, _c_com_github_dart_lang_jni_gen_simple_package_Example__Aux, _m_com_github_dart_lang_jni_gen_simple_package_Example__Aux_ctor, value);
-    return to_global_ref(_result);
-}
-
-jmethodID _m_com_github_dart_lang_jni_gen_simple_package_Example__Aux_getValue = NULL;
-FFI_PLUGIN_EXPORT
-uint8_t com_github_dart_lang_jni_gen_simple_package_Example__Aux_getValue(jobject self_) {
-    load_env();
-    load_class_gr(&_c_com_github_dart_lang_jni_gen_simple_package_Example__Aux, "com/github/dart_lang/jni_gen/simple_package/Example$Aux");
-    load_method(_c_com_github_dart_lang_jni_gen_simple_package_Example__Aux, &_m_com_github_dart_lang_jni_gen_simple_package_Example__Aux_getValue, "getValue", "()Z");
-    uint8_t _result = (*jniEnv)->CallBooleanMethod(jniEnv, self_, _m_com_github_dart_lang_jni_gen_simple_package_Example__Aux_getValue);
-    return _result;
-}
-
-jmethodID _m_com_github_dart_lang_jni_gen_simple_package_Example__Aux_setValue = NULL;
-FFI_PLUGIN_EXPORT
-void com_github_dart_lang_jni_gen_simple_package_Example__Aux_setValue(jobject self_, uint8_t value) {
-    load_env();
-    load_class_gr(&_c_com_github_dart_lang_jni_gen_simple_package_Example__Aux, "com/github/dart_lang/jni_gen/simple_package/Example$Aux");
-    load_method(_c_com_github_dart_lang_jni_gen_simple_package_Example__Aux, &_m_com_github_dart_lang_jni_gen_simple_package_Example__Aux_setValue, "setValue", "(Z)V");
-    (*jniEnv)->CallVoidMethod(jniEnv, self_, _m_com_github_dart_lang_jni_gen_simple_package_Example__Aux_setValue, value);
-}
-
-jfieldID _f_com_github_dart_lang_jni_gen_simple_package_Example__Aux_value = NULL;
-uint8_t get_com_github_dart_lang_jni_gen_simple_package_Example__Aux_value(jobject self_) {
-    load_env();
-    load_class_gr(&_c_com_github_dart_lang_jni_gen_simple_package_Example__Aux, "com/github/dart_lang/jni_gen/simple_package/Example$Aux");
-    load_field(_c_com_github_dart_lang_jni_gen_simple_package_Example__Aux, &_f_com_github_dart_lang_jni_gen_simple_package_Example__Aux_value, "value","Z");
-    return ((*jniEnv)->GetBooleanField(jniEnv, self_, _f_com_github_dart_lang_jni_gen_simple_package_Example__Aux_value));
-}
-
-void set_com_github_dart_lang_jni_gen_simple_package_Example__Aux_value(jobject self_, uint8_t value) {
-    load_env();
-    load_class_gr(&_c_com_github_dart_lang_jni_gen_simple_package_Example__Aux, "com/github/dart_lang/jni_gen/simple_package/Example$Aux");
-    load_field(_c_com_github_dart_lang_jni_gen_simple_package_Example__Aux, &_f_com_github_dart_lang_jni_gen_simple_package_Example__Aux_value, "value","Z");
-    ((*jniEnv)->SetBooleanField(jniEnv, self_, _f_com_github_dart_lang_jni_gen_simple_package_Example__Aux_value, value));
-}
-
-
-// com.github.dart_lang.jni_gen.pkg2.C2
-jclass _c_com_github_dart_lang_jni_gen_pkg2_C2 = NULL;
-
-jmethodID _m_com_github_dart_lang_jni_gen_pkg2_C2_ctor = NULL;
-FFI_PLUGIN_EXPORT
-jobject com_github_dart_lang_jni_gen_pkg2_C2_ctor() {
-    load_env();
-    load_class_gr(&_c_com_github_dart_lang_jni_gen_pkg2_C2, "com/github/dart_lang/jni_gen/pkg2/C2");
-    load_method(_c_com_github_dart_lang_jni_gen_pkg2_C2, &_m_com_github_dart_lang_jni_gen_pkg2_C2_ctor, "<init>", "()V");
-    jobject _result = (*jniEnv)->NewObject(jniEnv, _c_com_github_dart_lang_jni_gen_pkg2_C2, _m_com_github_dart_lang_jni_gen_pkg2_C2_ctor);
-    return to_global_ref(_result);
-}
-
-jfieldID _f_com_github_dart_lang_jni_gen_pkg2_C2_CONSTANT = NULL;
-int32_t get_com_github_dart_lang_jni_gen_pkg2_C2_CONSTANT() {
-    load_env();
-    load_class_gr(&_c_com_github_dart_lang_jni_gen_pkg2_C2, "com/github/dart_lang/jni_gen/pkg2/C2");
-    load_static_field(_c_com_github_dart_lang_jni_gen_pkg2_C2, &_f_com_github_dart_lang_jni_gen_pkg2_C2_CONSTANT, "CONSTANT","I");
-    return ((*jniEnv)->GetStaticIntField(jniEnv, _c_com_github_dart_lang_jni_gen_pkg2_C2, _f_com_github_dart_lang_jni_gen_pkg2_C2_CONSTANT));
-}
-
-void set_com_github_dart_lang_jni_gen_pkg2_C2_CONSTANT(int32_t value) {
-    load_env();
-    load_class_gr(&_c_com_github_dart_lang_jni_gen_pkg2_C2, "com/github/dart_lang/jni_gen/pkg2/C2");
-    load_static_field(_c_com_github_dart_lang_jni_gen_pkg2_C2, &_f_com_github_dart_lang_jni_gen_pkg2_C2_CONSTANT, "CONSTANT","I");
-    ((*jniEnv)->SetStaticIntField(jniEnv, _c_com_github_dart_lang_jni_gen_pkg2_C2, _f_com_github_dart_lang_jni_gen_pkg2_C2_CONSTANT, value));
-}
-
-
diff --git a/pkgs/jni_gen/.gitignore b/pkgs/jnigen/.gitignore
similarity index 100%
rename from pkgs/jni_gen/.gitignore
rename to pkgs/jnigen/.gitignore
diff --git a/pkgs/jni_gen/LICENSE b/pkgs/jnigen/LICENSE
similarity index 100%
rename from pkgs/jni_gen/LICENSE
rename to pkgs/jnigen/LICENSE
diff --git a/pkgs/jnigen/README.md b/pkgs/jnigen/README.md
index a9be656..7d282e3 100644
--- a/pkgs/jnigen/README.md
+++ b/pkgs/jnigen/README.md
@@ -1,13 +1,13 @@
-[![Build Status](https://github.com/dart-lang/jni_gen/workflows/Dart%20CI/badge.svg)](https://github.com/dart-lang/jni_gen/actions?query=workflow%3A%22Dart+CI%22+branch%3Amain)
+[![Build Status](https://github.com/dart-lang/jnigen/workflows/Dart%20CI/badge.svg)](https://github.com/dart-lang/jnigen/actions?query=workflow%3A%22Dart+CI%22+branch%3Amain)
 
-## jni_gen
+## jnigen
 
 This project intends to provide 2 packages to enable JNI interop from Dart & Flutter. Currently this package is highly experimental.
 
 | Package | Description |
 | ------- | --------- |
 | [jni](jni/) | Ergonomic C bindings to JNI C API and several helper methods |
-| [jni_gen](jni_gen/) | Tool to generate Dart bindings to Java code using FFI |
+| [jnigen](jnigen/) | Tool to generate Dart bindings to Java code using FFI |
 
 This is a work-in-progress project under Google Summer of Code 2022 program.
 
diff --git a/pkgs/jni_gen/analysis_options.yaml b/pkgs/jnigen/analysis_options.yaml
similarity index 100%
rename from pkgs/jni_gen/analysis_options.yaml
rename to pkgs/jnigen/analysis_options.yaml
diff --git a/pkgs/jni_gen/bin/download_maven_jars.dart b/pkgs/jnigen/bin/download_maven_jars.dart
similarity index 85%
rename from pkgs/jni_gen/bin/download_maven_jars.dart
rename to pkgs/jnigen/bin/download_maven_jars.dart
index a4ada5b..6e5b4b0 100644
--- a/pkgs/jni_gen/bin/download_maven_jars.dart
+++ b/pkgs/jnigen/bin/download_maven_jars.dart
@@ -4,10 +4,10 @@
 
 import 'dart:io';
 
-import 'package:jni_gen/jni_gen.dart';
-import 'package:jni_gen/tools.dart';
+import 'package:jnigen/jnigen.dart';
+import 'package:jnigen/tools.dart';
 
-/// Downloads maven dependencies downloaded by equivalent jni_gen invocation.
+/// Downloads maven dependencies downloaded by equivalent jnigen invocation.
 ///
 /// Useful for running standalone examples on already generated sources.
 void main(List<String> args) async {
diff --git a/pkgs/jni_gen/bin/jni_gen.dart b/pkgs/jnigen/bin/jnigen.dart
similarity index 89%
rename from pkgs/jni_gen/bin/jni_gen.dart
rename to pkgs/jnigen/bin/jnigen.dart
index 855ae6e..01bae85 100644
--- a/pkgs/jni_gen/bin/jni_gen.dart
+++ b/pkgs/jnigen/bin/jnigen.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:jni_gen/jni_gen.dart';
+import 'package:jnigen/jnigen.dart';
 
 void main(List<String> args) async {
   final config = Config.parseArgs(args);
diff --git a/pkgs/jni_gen/bin/setup.dart b/pkgs/jnigen/bin/setup.dart
similarity index 83%
rename from pkgs/jni_gen/bin/setup.dart
rename to pkgs/jnigen/bin/setup.dart
index 18e7a8d..fefbd67 100644
--- a/pkgs/jni_gen/bin/setup.dart
+++ b/pkgs/jnigen/bin/setup.dart
@@ -4,13 +4,13 @@
 
 import 'dart:io';
 
-import 'package:jni_gen/src/tools/tools.dart';
+import 'package:jnigen/src/tools/tools.dart';
 
 void main(List<String> args) async {
   bool force = false;
   if (args.isNotEmpty) {
     if (args.length != 1 || args[0] != '-f') {
-      stderr.writeln('usage: dart run jni_gen:setup [-f]');
+      stderr.writeln('usage: dart run jnigen:setup [-f]');
       stderr.writeln('* -f\trebuild ApiSummarizer jar even if it already '
           'exists.');
     } else {
diff --git a/pkgs/jni_gen/cmake/CMakeLists.txt.tmpl b/pkgs/jnigen/cmake/CMakeLists.txt.tmpl
similarity index 100%
rename from pkgs/jni_gen/cmake/CMakeLists.txt.tmpl
rename to pkgs/jnigen/cmake/CMakeLists.txt.tmpl
diff --git a/pkgs/jni_gen/examples/README.md b/pkgs/jnigen/examples/README.md
similarity index 71%
rename from pkgs/jni_gen/examples/README.md
rename to pkgs/jnigen/examples/README.md
index 11e3fc0..9b19c3a 100644
--- a/pkgs/jni_gen/examples/README.md
+++ b/pkgs/jnigen/examples/README.md
@@ -1,10 +1,10 @@
-## jni_gen examples
+## jnigen examples
 
-This directory contains examples on how to use jni_gen.
+This directory contains examples on how to use jnigen.
 
 | Directory | Description |
 | ------- | --------- |
-| [in_app_java](in_app_java/) | Demonstrates how to include custom Java code in Flutter application and call that using jni_gen |
+| [in_app_java](in_app_java/) | Demonstrates how to include custom Java code in Flutter application and call that using jnigen |
 | [pdfbox_plugin](pdfbox_plugin/) | Example of a flutter plugin which provides bindings to Apache PDFBox library. Currently works on Flutter desktop and Dart standalone on linux. |
 
 We intend to cover few more use cases in future.
diff --git a/pkgs/jni_gen/examples/in_app_java/.gitignore b/pkgs/jnigen/examples/in_app_java/.gitignore
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/.gitignore
rename to pkgs/jnigen/examples/in_app_java/.gitignore
diff --git a/pkgs/jni_gen/examples/in_app_java/.metadata b/pkgs/jnigen/examples/in_app_java/.metadata
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/.metadata
rename to pkgs/jnigen/examples/in_app_java/.metadata
diff --git a/pkgs/jni_gen/examples/in_app_java/README.md b/pkgs/jnigen/examples/in_app_java/README.md
similarity index 66%
rename from pkgs/jni_gen/examples/in_app_java/README.md
rename to pkgs/jnigen/examples/in_app_java/README.md
index f910deb..13813a8 100644
--- a/pkgs/jni_gen/examples/in_app_java/README.md
+++ b/pkgs/jnigen/examples/in_app_java/README.md
@@ -1,14 +1,14 @@
 # In-App Java Example
 
-This example shows how to write custom java code in `android/app/src` and call it using `jni_gen` generated bindings.
+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 jni_gen --config jnigen.yaml`. This requires at least one APK build to have been run before, so that it's possible for `jni_gen` 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`.
+* 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 `jni_gen`.
+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.
 
diff --git a/pkgs/jni_gen/examples/in_app_java/analysis_options.yaml b/pkgs/jnigen/examples/in_app_java/analysis_options.yaml
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/analysis_options.yaml
rename to pkgs/jnigen/examples/in_app_java/analysis_options.yaml
diff --git a/pkgs/jni_gen/examples/in_app_java/android/.gitignore b/pkgs/jnigen/examples/in_app_java/android/.gitignore
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/.gitignore
rename to pkgs/jnigen/examples/in_app_java/android/.gitignore
diff --git a/pkgs/jni_gen/examples/in_app_java/android/app/build.gradle b/pkgs/jnigen/examples/in_app_java/android/app/build.gradle
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/app/build.gradle
rename to pkgs/jnigen/examples/in_app_java/android/app/build.gradle
diff --git a/pkgs/jni_gen/examples/in_app_java/android/app/src/debug/AndroidManifest.xml b/pkgs/jnigen/examples/in_app_java/android/app/src/debug/AndroidManifest.xml
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/app/src/debug/AndroidManifest.xml
rename to pkgs/jnigen/examples/in_app_java/android/app/src/debug/AndroidManifest.xml
diff --git a/pkgs/jni_gen/examples/in_app_java/android/app/src/main/AndroidManifest.xml b/pkgs/jnigen/examples/in_app_java/android/app/src/main/AndroidManifest.xml
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/app/src/main/AndroidManifest.xml
rename to pkgs/jnigen/examples/in_app_java/android/app/src/main/AndroidManifest.xml
diff --git a/pkgs/jni_gen/examples/in_app_java/android/app/src/main/java/com/example/in_app_java/AndroidUtils.java b/pkgs/jnigen/examples/in_app_java/android/app/src/main/java/com/example/in_app_java/AndroidUtils.java
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/app/src/main/java/com/example/in_app_java/AndroidUtils.java
rename to pkgs/jnigen/examples/in_app_java/android/app/src/main/java/com/example/in_app_java/AndroidUtils.java
diff --git a/pkgs/jni_gen/examples/in_app_java/android/app/src/main/kotlin/com/example/in_app_java/MainActivity.kt b/pkgs/jnigen/examples/in_app_java/android/app/src/main/kotlin/com/example/in_app_java/MainActivity.kt
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/app/src/main/kotlin/com/example/in_app_java/MainActivity.kt
rename to pkgs/jnigen/examples/in_app_java/android/app/src/main/kotlin/com/example/in_app_java/MainActivity.kt
diff --git a/pkgs/jni_gen/examples/in_app_java/android/app/src/main/res/drawable-v21/launch_background.xml b/pkgs/jnigen/examples/in_app_java/android/app/src/main/res/drawable-v21/launch_background.xml
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/app/src/main/res/drawable-v21/launch_background.xml
rename to pkgs/jnigen/examples/in_app_java/android/app/src/main/res/drawable-v21/launch_background.xml
diff --git a/pkgs/jni_gen/examples/in_app_java/android/app/src/main/res/drawable/launch_background.xml b/pkgs/jnigen/examples/in_app_java/android/app/src/main/res/drawable/launch_background.xml
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/app/src/main/res/drawable/launch_background.xml
rename to pkgs/jnigen/examples/in_app_java/android/app/src/main/res/drawable/launch_background.xml
diff --git a/pkgs/jni_gen/examples/in_app_java/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/pkgs/jnigen/examples/in_app_java/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
rename to pkgs/jnigen/examples/in_app_java/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
Binary files differ
diff --git a/pkgs/jni_gen/examples/in_app_java/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/pkgs/jnigen/examples/in_app_java/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
rename to pkgs/jnigen/examples/in_app_java/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
Binary files differ
diff --git a/pkgs/jni_gen/examples/in_app_java/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/pkgs/jnigen/examples/in_app_java/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
rename to pkgs/jnigen/examples/in_app_java/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
Binary files differ
diff --git a/pkgs/jni_gen/examples/in_app_java/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/pkgs/jnigen/examples/in_app_java/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
rename to pkgs/jnigen/examples/in_app_java/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/pkgs/jni_gen/examples/in_app_java/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/pkgs/jnigen/examples/in_app_java/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
rename to pkgs/jnigen/examples/in_app_java/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Binary files differ
diff --git a/pkgs/jni_gen/examples/in_app_java/android/app/src/main/res/values-night/styles.xml b/pkgs/jnigen/examples/in_app_java/android/app/src/main/res/values-night/styles.xml
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/app/src/main/res/values-night/styles.xml
rename to pkgs/jnigen/examples/in_app_java/android/app/src/main/res/values-night/styles.xml
diff --git a/pkgs/jni_gen/examples/in_app_java/android/app/src/main/res/values/styles.xml b/pkgs/jnigen/examples/in_app_java/android/app/src/main/res/values/styles.xml
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/app/src/main/res/values/styles.xml
rename to pkgs/jnigen/examples/in_app_java/android/app/src/main/res/values/styles.xml
diff --git a/pkgs/jni_gen/examples/in_app_java/android/app/src/profile/AndroidManifest.xml b/pkgs/jnigen/examples/in_app_java/android/app/src/profile/AndroidManifest.xml
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/app/src/profile/AndroidManifest.xml
rename to pkgs/jnigen/examples/in_app_java/android/app/src/profile/AndroidManifest.xml
diff --git a/pkgs/jni_gen/examples/in_app_java/android/build.gradle b/pkgs/jnigen/examples/in_app_java/android/build.gradle
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/build.gradle
rename to pkgs/jnigen/examples/in_app_java/android/build.gradle
diff --git a/pkgs/jni_gen/examples/in_app_java/android/gradle.properties b/pkgs/jnigen/examples/in_app_java/android/gradle.properties
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/gradle.properties
rename to pkgs/jnigen/examples/in_app_java/android/gradle.properties
diff --git a/pkgs/jni_gen/examples/in_app_java/android/gradle/wrapper/gradle-wrapper.properties b/pkgs/jnigen/examples/in_app_java/android/gradle/wrapper/gradle-wrapper.properties
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/gradle/wrapper/gradle-wrapper.properties
rename to pkgs/jnigen/examples/in_app_java/android/gradle/wrapper/gradle-wrapper.properties
diff --git a/pkgs/jni_gen/examples/in_app_java/android/settings.gradle b/pkgs/jnigen/examples/in_app_java/android/settings.gradle
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/android/settings.gradle
rename to pkgs/jnigen/examples/in_app_java/android/settings.gradle
diff --git a/pkgs/jni_gen/examples/in_app_java/jnigen.yaml b/pkgs/jnigen/examples/in_app_java/jnigen.yaml
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/jnigen.yaml
rename to pkgs/jnigen/examples/in_app_java/jnigen.yaml
diff --git a/pkgs/jni_gen/examples/in_app_java/lib/android_utils/com/example/in_app_java.dart b/pkgs/jnigen/examples/in_app_java/lib/android_utils/com/example/in_app_java.dart
similarity index 96%
rename from pkgs/jni_gen/examples/in_app_java/lib/android_utils/com/example/in_app_java.dart
rename to pkgs/jnigen/examples/in_app_java/lib/android_utils/com/example/in_app_java.dart
index 6f6a010..3412fc1 100644
--- a/pkgs/jni_gen/examples/in_app_java/lib/android_utils/com/example/in_app_java.dart
+++ b/pkgs/jnigen/examples/in_app_java/lib/android_utils/com/example/in_app_java.dart
@@ -1,4 +1,4 @@
-// Autogenerated by jni_gen. DO NOT EDIT!
+// Autogenerated by jnigen. DO NOT EDIT!
 
 // ignore_for_file: camel_case_types
 // ignore_for_file: non_constant_identifier_names
diff --git a/pkgs/jni_gen/examples/in_app_java/lib/android_utils/init.dart b/pkgs/jnigen/examples/in_app_java/lib/android_utils/init.dart
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/lib/android_utils/init.dart
rename to pkgs/jnigen/examples/in_app_java/lib/android_utils/init.dart
diff --git a/pkgs/jni_gen/examples/in_app_java/lib/main.dart b/pkgs/jnigen/examples/in_app_java/lib/main.dart
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/lib/main.dart
rename to pkgs/jnigen/examples/in_app_java/lib/main.dart
diff --git a/pkgs/jni_gen/examples/in_app_java/pubspec.yaml b/pkgs/jnigen/examples/in_app_java/pubspec.yaml
similarity index 99%
rename from pkgs/jni_gen/examples/in_app_java/pubspec.yaml
rename to pkgs/jnigen/examples/in_app_java/pubspec.yaml
index aef5291..f2dcc7d 100644
--- a/pkgs/jni_gen/examples/in_app_java/pubspec.yaml
+++ b/pkgs/jnigen/examples/in_app_java/pubspec.yaml
@@ -23,7 +23,7 @@
 dev_dependencies:
   flutter_test:
     sdk: flutter
-  jni_gen:
+  jnigen:
     path: ../../
 
   flutter_lints: ^2.0.0
diff --git a/pkgs/jni_gen/examples/in_app_java/src/android_utils/CMakeLists.txt b/pkgs/jnigen/examples/in_app_java/src/android_utils/CMakeLists.txt
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/src/android_utils/CMakeLists.txt
rename to pkgs/jnigen/examples/in_app_java/src/android_utils/CMakeLists.txt
diff --git a/pkgs/jni_gen/examples/in_app_java/src/android_utils/android_utils.c b/pkgs/jnigen/examples/in_app_java/src/android_utils/android_utils.c
similarity index 97%
rename from pkgs/jni_gen/examples/in_app_java/src/android_utils/android_utils.c
rename to pkgs/jnigen/examples/in_app_java/src/android_utils/android_utils.c
index d9c365c..f41c216 100644
--- a/pkgs/jni_gen/examples/in_app_java/src/android_utils/android_utils.c
+++ b/pkgs/jnigen/examples/in_app_java/src/android_utils/android_utils.c
@@ -1,4 +1,4 @@
-// Autogenerated by jni_gen. DO NOT EDIT!
+// Autogenerated by jnigen. DO NOT EDIT!
 
 #include <stdint.h>
 #include "jni.h"
diff --git a/pkgs/jni_gen/examples/in_app_java/src/android_utils/dartjni.h b/pkgs/jnigen/examples/in_app_java/src/android_utils/dartjni.h
similarity index 100%
rename from pkgs/jni_gen/examples/in_app_java/src/android_utils/dartjni.h
rename to pkgs/jnigen/examples/in_app_java/src/android_utils/dartjni.h
diff --git a/pkgs/jni_gen/examples/in_app_java/tool/generate_bindings.dart b/pkgs/jnigen/examples/in_app_java/tool/generate_bindings.dart
similarity index 94%
rename from pkgs/jni_gen/examples/in_app_java/tool/generate_bindings.dart
rename to pkgs/jnigen/examples/in_app_java/tool/generate_bindings.dart
index cb2b53d..ce3b03f 100644
--- a/pkgs/jni_gen/examples/in_app_java/tool/generate_bindings.dart
+++ b/pkgs/jnigen/examples/in_app_java/tool/generate_bindings.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:jni_gen/jni_gen.dart';
+import 'package:jnigen/jnigen.dart';
 
 void main(List<String> args) async {
   final config = Config(
diff --git a/pkgs/jni_gen/examples/notification_plugin/.gitignore b/pkgs/jnigen/examples/notification_plugin/.gitignore
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/.gitignore
rename to pkgs/jnigen/examples/notification_plugin/.gitignore
diff --git a/pkgs/jni_gen/examples/notification_plugin/.metadata b/pkgs/jnigen/examples/notification_plugin/.metadata
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/.metadata
rename to pkgs/jnigen/examples/notification_plugin/.metadata
diff --git a/pkgs/jnigen/examples/notification_plugin/README.md b/pkgs/jnigen/examples/notification_plugin/README.md
new file mode 100644
index 0000000..035b29a
--- /dev/null
+++ b/pkgs/jnigen/examples/notification_plugin/README.md
@@ -0,0 +1,13 @@
+# notification_plugin
+
+Example of android plugin project with jnigen.
+
+This plugin project contains [custom code](android/src/main/java/com/example/notification_plugin) which uses the Android libraries. The bindings are generated using [jnigen config](jnigen.yaml) and then used in [flutter example](example/lib/main.dart), with help of `package:jni` APIs.
+
+The command to regenerate JNI bindings is:
+```
+flutter run jnigen --config jnigen.yaml # run from notification_plugin project root 
+```
+
+The `example/` app must be built at least once in _release_ mode (eg `flutter build apk`) before running jnigen. This is the equivalent of Gradle Sync in Android Studio, and enables `jnigen` to run a Gradle stub and determine release build's classpath, which contains the paths to relevant dependencies. Therefore a build must have been run after cleaning build directories, or updating Java dependencies. This is a known complexity of the Gradle build system, and if you know a solution, please contribute to issue discussion at #33.
+
diff --git a/pkgs/jni_gen/examples/notification_plugin/analysis_options.yaml b/pkgs/jnigen/examples/notification_plugin/analysis_options.yaml
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/analysis_options.yaml
rename to pkgs/jnigen/examples/notification_plugin/analysis_options.yaml
diff --git a/pkgs/jni_gen/examples/notification_plugin/android/.gitignore b/pkgs/jnigen/examples/notification_plugin/android/.gitignore
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/android/.gitignore
rename to pkgs/jnigen/examples/notification_plugin/android/.gitignore
diff --git a/pkgs/jni_gen/examples/notification_plugin/android/build.gradle b/pkgs/jnigen/examples/notification_plugin/android/build.gradle
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/android/build.gradle
rename to pkgs/jnigen/examples/notification_plugin/android/build.gradle
diff --git a/pkgs/jni_gen/examples/notification_plugin/android/settings.gradle b/pkgs/jnigen/examples/notification_plugin/android/settings.gradle
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/android/settings.gradle
rename to pkgs/jnigen/examples/notification_plugin/android/settings.gradle
diff --git a/pkgs/jni_gen/examples/notification_plugin/android/src/main/AndroidManifest.xml b/pkgs/jnigen/examples/notification_plugin/android/src/main/AndroidManifest.xml
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/android/src/main/AndroidManifest.xml
rename to pkgs/jnigen/examples/notification_plugin/android/src/main/AndroidManifest.xml
diff --git a/pkgs/jni_gen/examples/notification_plugin/android/src/main/java/com/example/notification_plugin/Notifications.java b/pkgs/jnigen/examples/notification_plugin/android/src/main/java/com/example/notification_plugin/Notifications.java
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/android/src/main/java/com/example/notification_plugin/Notifications.java
rename to pkgs/jnigen/examples/notification_plugin/android/src/main/java/com/example/notification_plugin/Notifications.java
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/.gitignore b/pkgs/jnigen/examples/notification_plugin/example/.gitignore
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/.gitignore
rename to pkgs/jnigen/examples/notification_plugin/example/.gitignore
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/README.md b/pkgs/jnigen/examples/notification_plugin/example/README.md
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/README.md
rename to pkgs/jnigen/examples/notification_plugin/example/README.md
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/analysis_options.yaml b/pkgs/jnigen/examples/notification_plugin/example/analysis_options.yaml
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/analysis_options.yaml
rename to pkgs/jnigen/examples/notification_plugin/example/analysis_options.yaml
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/android/.gitignore b/pkgs/jnigen/examples/notification_plugin/example/android/.gitignore
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/android/.gitignore
rename to pkgs/jnigen/examples/notification_plugin/example/android/.gitignore
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/android/app/build.gradle b/pkgs/jnigen/examples/notification_plugin/example/android/app/build.gradle
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/android/app/build.gradle
rename to pkgs/jnigen/examples/notification_plugin/example/android/app/build.gradle
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/android/app/src/debug/AndroidManifest.xml b/pkgs/jnigen/examples/notification_plugin/example/android/app/src/debug/AndroidManifest.xml
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/android/app/src/debug/AndroidManifest.xml
rename to pkgs/jnigen/examples/notification_plugin/example/android/app/src/debug/AndroidManifest.xml
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/AndroidManifest.xml b/pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/AndroidManifest.xml
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/AndroidManifest.xml
rename to pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/AndroidManifest.xml
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/kotlin/com/example/notification_plugin_example/MainActivity.kt b/pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/kotlin/com/example/notification_plugin_example/MainActivity.kt
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/kotlin/com/example/notification_plugin_example/MainActivity.kt
rename to pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/kotlin/com/example/notification_plugin_example/MainActivity.kt
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/res/drawable-v21/launch_background.xml b/pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/res/drawable-v21/launch_background.xml
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/res/drawable-v21/launch_background.xml
rename to pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/res/drawable-v21/launch_background.xml
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/res/drawable/launch_background.xml b/pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/res/drawable/launch_background.xml
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/res/drawable/launch_background.xml
rename to pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/res/drawable/launch_background.xml
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
rename to pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
Binary files differ
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
rename to pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
Binary files differ
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
rename to pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
Binary files differ
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
rename to pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
rename to pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Binary files differ
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/res/values-night/styles.xml b/pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/res/values-night/styles.xml
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/res/values-night/styles.xml
rename to pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/res/values-night/styles.xml
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/res/values/styles.xml b/pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/res/values/styles.xml
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/android/app/src/main/res/values/styles.xml
rename to pkgs/jnigen/examples/notification_plugin/example/android/app/src/main/res/values/styles.xml
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/android/app/src/profile/AndroidManifest.xml b/pkgs/jnigen/examples/notification_plugin/example/android/app/src/profile/AndroidManifest.xml
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/android/app/src/profile/AndroidManifest.xml
rename to pkgs/jnigen/examples/notification_plugin/example/android/app/src/profile/AndroidManifest.xml
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/android/build.gradle b/pkgs/jnigen/examples/notification_plugin/example/android/build.gradle
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/android/build.gradle
rename to pkgs/jnigen/examples/notification_plugin/example/android/build.gradle
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/android/gradle.properties b/pkgs/jnigen/examples/notification_plugin/example/android/gradle.properties
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/android/gradle.properties
rename to pkgs/jnigen/examples/notification_plugin/example/android/gradle.properties
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/android/gradle/wrapper/gradle-wrapper.properties b/pkgs/jnigen/examples/notification_plugin/example/android/gradle/wrapper/gradle-wrapper.properties
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/android/gradle/wrapper/gradle-wrapper.properties
rename to pkgs/jnigen/examples/notification_plugin/example/android/gradle/wrapper/gradle-wrapper.properties
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/android/settings.gradle b/pkgs/jnigen/examples/notification_plugin/example/android/settings.gradle
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/android/settings.gradle
rename to pkgs/jnigen/examples/notification_plugin/example/android/settings.gradle
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/lib/main.dart b/pkgs/jnigen/examples/notification_plugin/example/lib/main.dart
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/lib/main.dart
rename to pkgs/jnigen/examples/notification_plugin/example/lib/main.dart
diff --git a/pkgs/jni_gen/examples/notification_plugin/example/pubspec.yaml b/pkgs/jnigen/examples/notification_plugin/example/pubspec.yaml
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/example/pubspec.yaml
rename to pkgs/jnigen/examples/notification_plugin/example/pubspec.yaml
diff --git a/pkgs/jni_gen/examples/notification_plugin/jnigen.yaml b/pkgs/jnigen/examples/notification_plugin/jnigen.yaml
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/jnigen.yaml
rename to pkgs/jnigen/examples/notification_plugin/jnigen.yaml
diff --git a/pkgs/jni_gen/examples/notification_plugin/lib/com/example/notification_plugin.dart b/pkgs/jnigen/examples/notification_plugin/lib/com/example/notification_plugin.dart
similarity index 97%
rename from pkgs/jni_gen/examples/notification_plugin/lib/com/example/notification_plugin.dart
rename to pkgs/jnigen/examples/notification_plugin/lib/com/example/notification_plugin.dart
index 52c75af..f7bd86c 100644
--- a/pkgs/jni_gen/examples/notification_plugin/lib/com/example/notification_plugin.dart
+++ b/pkgs/jnigen/examples/notification_plugin/lib/com/example/notification_plugin.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-// Autogenerated by jni_gen. DO NOT EDIT!
+// Autogenerated by jnigen. DO NOT EDIT!
 
 // ignore_for_file: camel_case_types
 // ignore_for_file: non_constant_identifier_names
diff --git a/pkgs/jni_gen/examples/notification_plugin/lib/init.dart b/pkgs/jnigen/examples/notification_plugin/lib/init.dart
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/lib/init.dart
rename to pkgs/jnigen/examples/notification_plugin/lib/init.dart
diff --git a/pkgs/jni_gen/examples/notification_plugin/pubspec.yaml b/pkgs/jnigen/examples/notification_plugin/pubspec.yaml
similarity index 97%
rename from pkgs/jni_gen/examples/notification_plugin/pubspec.yaml
rename to pkgs/jnigen/examples/notification_plugin/pubspec.yaml
index 422f83a..a680e74 100644
--- a/pkgs/jni_gen/examples/notification_plugin/pubspec.yaml
+++ b/pkgs/jnigen/examples/notification_plugin/pubspec.yaml
@@ -2,7 +2,7 @@
 description: A new Flutter FFI plugin project.
 version: 0.0.1
 publish_to: none
-homepage: https://github.com/dart-lang/jni_gen
+homepage: https://github.com/dart-lang/jnigen
 
 environment:
   sdk: '>=2.18.0 <3.0.0'
@@ -16,7 +16,7 @@
   plugin_platform_interface: ^2.0.2
 
 dev_dependencies:
-  jni_gen:
+  jnigen:
     path: ../../
   flutter_test:
     sdk: flutter
diff --git a/pkgs/jni_gen/examples/notification_plugin/src/CMakeLists.txt b/pkgs/jnigen/examples/notification_plugin/src/CMakeLists.txt
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/src/CMakeLists.txt
rename to pkgs/jnigen/examples/notification_plugin/src/CMakeLists.txt
diff --git a/pkgs/jni_gen/examples/notification_plugin/src/dartjni.h b/pkgs/jnigen/examples/notification_plugin/src/dartjni.h
similarity index 100%
rename from pkgs/jni_gen/examples/notification_plugin/src/dartjni.h
rename to pkgs/jnigen/examples/notification_plugin/src/dartjni.h
diff --git a/pkgs/jni_gen/examples/notification_plugin/src/notification_plugin.c b/pkgs/jnigen/examples/notification_plugin/src/notification_plugin.c
similarity index 97%
rename from pkgs/jni_gen/examples/notification_plugin/src/notification_plugin.c
rename to pkgs/jnigen/examples/notification_plugin/src/notification_plugin.c
index 6457cae..0408aa1 100644
--- a/pkgs/jni_gen/examples/notification_plugin/src/notification_plugin.c
+++ b/pkgs/jnigen/examples/notification_plugin/src/notification_plugin.c
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-// Autogenerated by jni_gen. DO NOT EDIT!
+// Autogenerated by jnigen. DO NOT EDIT!
 
 #include <stdint.h>
 #include "jni.h"
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/.gitignore b/pkgs/jnigen/examples/pdfbox_plugin/.gitignore
similarity index 95%
rename from pkgs/jni_gen/examples/pdfbox_plugin/.gitignore
rename to pkgs/jnigen/examples/pdfbox_plugin/.gitignore
index 4080544..b3f33fc 100644
--- a/pkgs/jni_gen/examples/pdfbox_plugin/.gitignore
+++ b/pkgs/jnigen/examples/pdfbox_plugin/.gitignore
@@ -29,7 +29,7 @@
 .packages
 build/
 
-## Downloaded by jni_gen
+## Downloaded by jnigen
 /mvn_java/
 /mvn_jar/
 ## Sometimes generated by maven.
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/.metadata b/pkgs/jnigen/examples/pdfbox_plugin/.metadata
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/.metadata
rename to pkgs/jnigen/examples/pdfbox_plugin/.metadata
diff --git a/pkgs/jnigen/examples/pdfbox_plugin/README.md b/pkgs/jnigen/examples/pdfbox_plugin/README.md
new file mode 100644
index 0000000..efa8caa
--- /dev/null
+++ b/pkgs/jnigen/examples/pdfbox_plugin/README.md
@@ -0,0 +1,8 @@
+# pdfbox_plugin
+
+Example of a JNI plugin using `jnigen` to auto-generate bindings for PDFBox java library.
+
+Bindings can be generated by running `dart run jnigen --config jnigen.yaml`. Required source code and JARs will be downloaded using maven (requires `mvn` command).
+
+`jnigen` is also available as an API which tooling scripts can use. See `tool/generate_bindings.dart` for the script equivalent of the YAML file.
+
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/analysis_options.yaml b/pkgs/jnigen/examples/pdfbox_plugin/analysis_options.yaml
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/analysis_options.yaml
rename to pkgs/jnigen/examples/pdfbox_plugin/analysis_options.yaml
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/android/.gitignore b/pkgs/jnigen/examples/pdfbox_plugin/android/.gitignore
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/android/.gitignore
rename to pkgs/jnigen/examples/pdfbox_plugin/android/.gitignore
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/android/build.gradle b/pkgs/jnigen/examples/pdfbox_plugin/android/build.gradle
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/android/build.gradle
rename to pkgs/jnigen/examples/pdfbox_plugin/android/build.gradle
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/android/settings.gradle b/pkgs/jnigen/examples/pdfbox_plugin/android/settings.gradle
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/android/settings.gradle
rename to pkgs/jnigen/examples/pdfbox_plugin/android/settings.gradle
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/android/src/main/AndroidManifest.xml b/pkgs/jnigen/examples/pdfbox_plugin/android/src/main/AndroidManifest.xml
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/android/src/main/AndroidManifest.xml
rename to pkgs/jnigen/examples/pdfbox_plugin/android/src/main/AndroidManifest.xml
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/dart_example/.gitignore b/pkgs/jnigen/examples/pdfbox_plugin/dart_example/.gitignore
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/dart_example/.gitignore
rename to pkgs/jnigen/examples/pdfbox_plugin/dart_example/.gitignore
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/dart_example/CHANGELOG.md b/pkgs/jnigen/examples/pdfbox_plugin/dart_example/CHANGELOG.md
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/dart_example/CHANGELOG.md
rename to pkgs/jnigen/examples/pdfbox_plugin/dart_example/CHANGELOG.md
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/dart_example/README.md b/pkgs/jnigen/examples/pdfbox_plugin/dart_example/README.md
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/dart_example/README.md
rename to pkgs/jnigen/examples/pdfbox_plugin/dart_example/README.md
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/dart_example/analysis_options.yaml b/pkgs/jnigen/examples/pdfbox_plugin/dart_example/analysis_options.yaml
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/dart_example/analysis_options.yaml
rename to pkgs/jnigen/examples/pdfbox_plugin/dart_example/analysis_options.yaml
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/dart_example/bin/pdf_info.dart b/pkgs/jnigen/examples/pdfbox_plugin/dart_example/bin/pdf_info.dart
similarity index 96%
rename from pkgs/jni_gen/examples/pdfbox_plugin/dart_example/bin/pdf_info.dart
rename to pkgs/jnigen/examples/pdfbox_plugin/dart_example/bin/pdf_info.dart
index f276ea1..92f9c30 100644
--- a/pkgs/jni_gen/examples/pdfbox_plugin/dart_example/bin/pdf_info.dart
+++ b/pkgs/jnigen/examples/pdfbox_plugin/dart_example/bin/pdf_info.dart
@@ -44,7 +44,7 @@
 final jniLibsDir = join('build', 'jni_libs');
 
 const jarError = 'No JAR files were found.\n'
-    'Run `dart run jni_gen:download_maven_jars --config jnigen.yaml` '
+    'Run `dart run jnigen:download_maven_jars --config jnigen.yaml` '
     'in plugin directory.\n'
     'Alternatively, regenerate JNI bindings in plugin directory, which will '
     'automatically download the JAR files.';
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/dart_example/pubspec.yaml b/pkgs/jnigen/examples/pdfbox_plugin/dart_example/pubspec.yaml
similarity index 79%
rename from pkgs/jni_gen/examples/pdfbox_plugin/dart_example/pubspec.yaml
rename to pkgs/jnigen/examples/pdfbox_plugin/dart_example/pubspec.yaml
index b694b73..c1e2660 100644
--- a/pkgs/jni_gen/examples/pdfbox_plugin/dart_example/pubspec.yaml
+++ b/pkgs/jnigen/examples/pdfbox_plugin/dart_example/pubspec.yaml
@@ -1,5 +1,5 @@
 name: pdf_info
-description: Dart standalone example using jni_gen PDFBox bindings
+description: Dart standalone example using jnigen PDFBox bindings
 version: 1.0.0
 publish_to: none
 # homepage: https://www.example.com
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/.gitignore b/pkgs/jnigen/examples/pdfbox_plugin/example/.gitignore
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/.gitignore
rename to pkgs/jnigen/examples/pdfbox_plugin/example/.gitignore
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/README.md b/pkgs/jnigen/examples/pdfbox_plugin/example/README.md
similarity index 74%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/README.md
rename to pkgs/jnigen/examples/pdfbox_plugin/example/README.md
index 697559c..0f471be 100644
--- a/pkgs/jni_gen/examples/pdfbox_plugin/example/README.md
+++ b/pkgs/jnigen/examples/pdfbox_plugin/example/README.md
@@ -1,6 +1,6 @@
 # pdfbox_plugin_example
 
-Demonstrates how to use the PDFBox bindings generated using `jni_gen`. This is a Linux Flutter application. The sample application lists the PDF files in a directory with number of pages and title, also allowing to navigate between directories.
+Demonstrates how to use the PDFBox bindings generated using `jnigen`. This is a Linux Flutter application. The sample application lists the PDF files in a directory with number of pages and title, also allowing to navigate between directories.
 
 First, it's required to have generated the dart and C bindings in the plugin directory, which also downloads the required JARs using maven. The bindings are not committed because generated code is several thousands of lines.
 
@@ -8,7 +8,7 @@
 
 ```
 cd .. ## From this folder
-dart run jni_gen --config jnigen.yaml ## Downloads PDFBox JARs and generates bindings.
+dart run jnigen --config jnigen.yaml ## Downloads PDFBox JARs and generates bindings.
 cd example/
 flutter run --release ## Opens the files list from home directory
 ```
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/analysis_options.yaml b/pkgs/jnigen/examples/pdfbox_plugin/example/analysis_options.yaml
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/analysis_options.yaml
rename to pkgs/jnigen/examples/pdfbox_plugin/example/analysis_options.yaml
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/android/.gitignore b/pkgs/jnigen/examples/pdfbox_plugin/example/android/.gitignore
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/android/.gitignore
rename to pkgs/jnigen/examples/pdfbox_plugin/example/android/.gitignore
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/build.gradle b/pkgs/jnigen/examples/pdfbox_plugin/example/android/app/build.gradle
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/build.gradle
rename to pkgs/jnigen/examples/pdfbox_plugin/example/android/app/build.gradle
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/debug/AndroidManifest.xml b/pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/debug/AndroidManifest.xml
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/debug/AndroidManifest.xml
rename to pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/debug/AndroidManifest.xml
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/AndroidManifest.xml b/pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/AndroidManifest.xml
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/AndroidManifest.xml
rename to pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/AndroidManifest.xml
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/kotlin/com/example/pdfbox_plugin_example/MainActivity.kt b/pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/kotlin/com/example/pdfbox_plugin_example/MainActivity.kt
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/kotlin/com/example/pdfbox_plugin_example/MainActivity.kt
rename to pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/kotlin/com/example/pdfbox_plugin_example/MainActivity.kt
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/res/drawable-v21/launch_background.xml b/pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/res/drawable-v21/launch_background.xml
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/res/drawable-v21/launch_background.xml
rename to pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/res/drawable-v21/launch_background.xml
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/res/drawable/launch_background.xml b/pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/res/drawable/launch_background.xml
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/res/drawable/launch_background.xml
rename to pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/res/drawable/launch_background.xml
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
rename to pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
Binary files differ
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
rename to pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
Binary files differ
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
rename to pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
Binary files differ
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
rename to pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
rename to pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Binary files differ
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/res/values-night/styles.xml b/pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/res/values-night/styles.xml
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/res/values-night/styles.xml
rename to pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/res/values-night/styles.xml
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/res/values/styles.xml b/pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/res/values/styles.xml
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/main/res/values/styles.xml
rename to pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/main/res/values/styles.xml
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/profile/AndroidManifest.xml b/pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/profile/AndroidManifest.xml
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/android/app/src/profile/AndroidManifest.xml
rename to pkgs/jnigen/examples/pdfbox_plugin/example/android/app/src/profile/AndroidManifest.xml
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/android/build.gradle b/pkgs/jnigen/examples/pdfbox_plugin/example/android/build.gradle
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/android/build.gradle
rename to pkgs/jnigen/examples/pdfbox_plugin/example/android/build.gradle
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/android/gradle.properties b/pkgs/jnigen/examples/pdfbox_plugin/example/android/gradle.properties
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/android/gradle.properties
rename to pkgs/jnigen/examples/pdfbox_plugin/example/android/gradle.properties
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/android/gradle/wrapper/gradle-wrapper.properties b/pkgs/jnigen/examples/pdfbox_plugin/example/android/gradle/wrapper/gradle-wrapper.properties
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/android/gradle/wrapper/gradle-wrapper.properties
rename to pkgs/jnigen/examples/pdfbox_plugin/example/android/gradle/wrapper/gradle-wrapper.properties
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/android/settings.gradle b/pkgs/jnigen/examples/pdfbox_plugin/example/android/settings.gradle
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/android/settings.gradle
rename to pkgs/jnigen/examples/pdfbox_plugin/example/android/settings.gradle
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/lib/main.dart b/pkgs/jnigen/examples/pdfbox_plugin/example/lib/main.dart
similarity index 98%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/lib/main.dart
rename to pkgs/jnigen/examples/pdfbox_plugin/example/lib/main.dart
index 09527fb..82d8657 100644
--- a/pkgs/jni_gen/examples/pdfbox_plugin/example/lib/main.dart
+++ b/pkgs/jnigen/examples/pdfbox_plugin/example/lib/main.dart
@@ -20,7 +20,7 @@
 
 late Jni jni;
 const jarError = 'No JAR files were found.\n'
-    'Run `dart run jni_gen:download_maven_jars --config jnigen.yaml` '
+    'Run `dart run jnigen:download_maven_jars --config jnigen.yaml` '
     'in plugin directory.\n'
     'Alternatively, regenerate JNI bindings in plugin directory, which will '
     'automatically download the JAR files.';
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/linux/.gitignore b/pkgs/jnigen/examples/pdfbox_plugin/example/linux/.gitignore
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/linux/.gitignore
rename to pkgs/jnigen/examples/pdfbox_plugin/example/linux/.gitignore
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/linux/CMakeLists.txt b/pkgs/jnigen/examples/pdfbox_plugin/example/linux/CMakeLists.txt
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/linux/CMakeLists.txt
rename to pkgs/jnigen/examples/pdfbox_plugin/example/linux/CMakeLists.txt
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/linux/flutter/CMakeLists.txt b/pkgs/jnigen/examples/pdfbox_plugin/example/linux/flutter/CMakeLists.txt
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/linux/flutter/CMakeLists.txt
rename to pkgs/jnigen/examples/pdfbox_plugin/example/linux/flutter/CMakeLists.txt
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/linux/flutter/generated_plugin_registrant.cc b/pkgs/jnigen/examples/pdfbox_plugin/example/linux/flutter/generated_plugin_registrant.cc
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/linux/flutter/generated_plugin_registrant.cc
rename to pkgs/jnigen/examples/pdfbox_plugin/example/linux/flutter/generated_plugin_registrant.cc
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/linux/flutter/generated_plugin_registrant.h b/pkgs/jnigen/examples/pdfbox_plugin/example/linux/flutter/generated_plugin_registrant.h
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/linux/flutter/generated_plugin_registrant.h
rename to pkgs/jnigen/examples/pdfbox_plugin/example/linux/flutter/generated_plugin_registrant.h
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/linux/flutter/generated_plugins.cmake b/pkgs/jnigen/examples/pdfbox_plugin/example/linux/flutter/generated_plugins.cmake
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/linux/flutter/generated_plugins.cmake
rename to pkgs/jnigen/examples/pdfbox_plugin/example/linux/flutter/generated_plugins.cmake
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/linux/main.cc b/pkgs/jnigen/examples/pdfbox_plugin/example/linux/main.cc
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/linux/main.cc
rename to pkgs/jnigen/examples/pdfbox_plugin/example/linux/main.cc
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/linux/my_application.cc b/pkgs/jnigen/examples/pdfbox_plugin/example/linux/my_application.cc
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/linux/my_application.cc
rename to pkgs/jnigen/examples/pdfbox_plugin/example/linux/my_application.cc
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/linux/my_application.h b/pkgs/jnigen/examples/pdfbox_plugin/example/linux/my_application.h
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/linux/my_application.h
rename to pkgs/jnigen/examples/pdfbox_plugin/example/linux/my_application.h
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/pubspec.yaml b/pkgs/jnigen/examples/pdfbox_plugin/example/pubspec.yaml
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/pubspec.yaml
rename to pkgs/jnigen/examples/pdfbox_plugin/example/pubspec.yaml
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/windows/.gitignore b/pkgs/jnigen/examples/pdfbox_plugin/example/windows/.gitignore
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/windows/.gitignore
rename to pkgs/jnigen/examples/pdfbox_plugin/example/windows/.gitignore
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/windows/CMakeLists.txt b/pkgs/jnigen/examples/pdfbox_plugin/example/windows/CMakeLists.txt
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/windows/CMakeLists.txt
rename to pkgs/jnigen/examples/pdfbox_plugin/example/windows/CMakeLists.txt
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/windows/flutter/CMakeLists.txt b/pkgs/jnigen/examples/pdfbox_plugin/example/windows/flutter/CMakeLists.txt
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/windows/flutter/CMakeLists.txt
rename to pkgs/jnigen/examples/pdfbox_plugin/example/windows/flutter/CMakeLists.txt
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/windows/flutter/generated_plugin_registrant.cc b/pkgs/jnigen/examples/pdfbox_plugin/example/windows/flutter/generated_plugin_registrant.cc
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/windows/flutter/generated_plugin_registrant.cc
rename to pkgs/jnigen/examples/pdfbox_plugin/example/windows/flutter/generated_plugin_registrant.cc
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/windows/flutter/generated_plugin_registrant.h b/pkgs/jnigen/examples/pdfbox_plugin/example/windows/flutter/generated_plugin_registrant.h
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/windows/flutter/generated_plugin_registrant.h
rename to pkgs/jnigen/examples/pdfbox_plugin/example/windows/flutter/generated_plugin_registrant.h
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/windows/flutter/generated_plugins.cmake b/pkgs/jnigen/examples/pdfbox_plugin/example/windows/flutter/generated_plugins.cmake
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/windows/flutter/generated_plugins.cmake
rename to pkgs/jnigen/examples/pdfbox_plugin/example/windows/flutter/generated_plugins.cmake
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/CMakeLists.txt b/pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/CMakeLists.txt
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/CMakeLists.txt
rename to pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/CMakeLists.txt
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/Runner.rc b/pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/Runner.rc
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/Runner.rc
rename to pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/Runner.rc
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/flutter_window.cpp b/pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/flutter_window.cpp
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/flutter_window.cpp
rename to pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/flutter_window.cpp
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/flutter_window.h b/pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/flutter_window.h
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/flutter_window.h
rename to pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/flutter_window.h
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/main.cpp b/pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/main.cpp
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/main.cpp
rename to pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/main.cpp
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/resource.h b/pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/resource.h
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/resource.h
rename to pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/resource.h
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/resources/app_icon.ico b/pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/resources/app_icon.ico
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/resources/app_icon.ico
rename to pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/resources/app_icon.ico
Binary files differ
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/runner.exe.manifest b/pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/runner.exe.manifest
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/runner.exe.manifest
rename to pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/runner.exe.manifest
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/utils.cpp b/pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/utils.cpp
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/utils.cpp
rename to pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/utils.cpp
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/utils.h b/pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/utils.h
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/utils.h
rename to pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/utils.h
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/win32_window.cpp b/pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/win32_window.cpp
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/win32_window.cpp
rename to pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/win32_window.cpp
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/win32_window.h b/pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/win32_window.h
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/example/windows/runner/win32_window.h
rename to pkgs/jnigen/examples/pdfbox_plugin/example/windows/runner/win32_window.h
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/jnigen.yaml b/pkgs/jnigen/examples/pdfbox_plugin/jnigen.yaml
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/jnigen.yaml
rename to pkgs/jnigen/examples/pdfbox_plugin/jnigen.yaml
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/jnigen_full.yaml b/pkgs/jnigen/examples/pdfbox_plugin/jnigen_full.yaml
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/jnigen_full.yaml
rename to pkgs/jnigen/examples/pdfbox_plugin/jnigen_full.yaml
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/lib/third_party/init.dart b/pkgs/jnigen/examples/pdfbox_plugin/lib/third_party/init.dart
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/lib/third_party/init.dart
rename to pkgs/jnigen/examples/pdfbox_plugin/lib/third_party/init.dart
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/lib/third_party/org/apache/pdfbox/pdmodel.dart b/pkgs/jnigen/examples/pdfbox_plugin/lib/third_party/org/apache/pdfbox/pdmodel.dart
similarity index 99%
rename from pkgs/jni_gen/examples/pdfbox_plugin/lib/third_party/org/apache/pdfbox/pdmodel.dart
rename to pkgs/jnigen/examples/pdfbox_plugin/lib/third_party/org/apache/pdfbox/pdmodel.dart
index 2eeee30..f3be916 100644
--- a/pkgs/jni_gen/examples/pdfbox_plugin/lib/third_party/org/apache/pdfbox/pdmodel.dart
+++ b/pkgs/jnigen/examples/pdfbox_plugin/lib/third_party/org/apache/pdfbox/pdmodel.dart
@@ -16,7 +16,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Autogenerated by jni_gen. DO NOT EDIT!
+// Autogenerated by jnigen. DO NOT EDIT!
 
 // ignore_for_file: camel_case_types
 // ignore_for_file: non_constant_identifier_names
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/lib/third_party/org/apache/pdfbox/text.dart b/pkgs/jnigen/examples/pdfbox_plugin/lib/third_party/org/apache/pdfbox/text.dart
similarity index 99%
rename from pkgs/jni_gen/examples/pdfbox_plugin/lib/third_party/org/apache/pdfbox/text.dart
rename to pkgs/jnigen/examples/pdfbox_plugin/lib/third_party/org/apache/pdfbox/text.dart
index 0b8fe1e..6a7d7cc 100644
--- a/pkgs/jni_gen/examples/pdfbox_plugin/lib/third_party/org/apache/pdfbox/text.dart
+++ b/pkgs/jnigen/examples/pdfbox_plugin/lib/third_party/org/apache/pdfbox/text.dart
@@ -16,7 +16,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Autogenerated by jni_gen. DO NOT EDIT!
+// Autogenerated by jnigen. DO NOT EDIT!
 
 // ignore_for_file: camel_case_types
 // ignore_for_file: non_constant_identifier_names
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/linux/CMakeLists.txt b/pkgs/jnigen/examples/pdfbox_plugin/linux/CMakeLists.txt
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/linux/CMakeLists.txt
rename to pkgs/jnigen/examples/pdfbox_plugin/linux/CMakeLists.txt
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/pubspec.yaml b/pkgs/jnigen/examples/pdfbox_plugin/pubspec.yaml
similarity index 83%
rename from pkgs/jni_gen/examples/pdfbox_plugin/pubspec.yaml
rename to pkgs/jnigen/examples/pdfbox_plugin/pubspec.yaml
index 7ec1e1f..78aee9d 100644
--- a/pkgs/jni_gen/examples/pdfbox_plugin/pubspec.yaml
+++ b/pkgs/jnigen/examples/pdfbox_plugin/pubspec.yaml
@@ -1,9 +1,9 @@
 name: pdfbox_plugin
 description: |
-  Example of using jni_gen to generate bindings for a non-trivial library
+  Example of using jnigen to generate bindings for a non-trivial library
 version: 0.0.1
 publish_to: none
-homepage: https://github.com/dart-lang/jni_gen
+homepage: https://github.com/dart-lang/jnigen
 
 environment:
   sdk: ">=2.17.6 <3.0.0"
@@ -18,7 +18,7 @@
 
 dev_dependencies:
   ## Path dependency for sake of the example
-  jni_gen:
+  jnigen:
     path: ../../
   test: any
   lints: ^2.0.0
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/src/CMakeLists.txt b/pkgs/jnigen/examples/pdfbox_plugin/src/CMakeLists.txt
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/src/CMakeLists.txt
rename to pkgs/jnigen/examples/pdfbox_plugin/src/CMakeLists.txt
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/src/third_party/dartjni.h b/pkgs/jnigen/examples/pdfbox_plugin/src/third_party/dartjni.h
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/src/third_party/dartjni.h
rename to pkgs/jnigen/examples/pdfbox_plugin/src/third_party/dartjni.h
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/src/third_party/pdfbox_plugin.c b/pkgs/jnigen/examples/pdfbox_plugin/src/third_party/pdfbox_plugin.c
similarity index 99%
rename from pkgs/jni_gen/examples/pdfbox_plugin/src/third_party/pdfbox_plugin.c
rename to pkgs/jnigen/examples/pdfbox_plugin/src/third_party/pdfbox_plugin.c
index a4f00da..0de63de 100644
--- a/pkgs/jni_gen/examples/pdfbox_plugin/src/third_party/pdfbox_plugin.c
+++ b/pkgs/jnigen/examples/pdfbox_plugin/src/third_party/pdfbox_plugin.c
@@ -16,7 +16,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Autogenerated by jni_gen. DO NOT EDIT!
+// Autogenerated by jnigen. DO NOT EDIT!
 
 #include <stdint.h>
 #include "jni.h"
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/tool/generate_bindings.dart b/pkgs/jnigen/examples/pdfbox_plugin/tool/generate_bindings.dart
similarity index 97%
rename from pkgs/jni_gen/examples/pdfbox_plugin/tool/generate_bindings.dart
rename to pkgs/jnigen/examples/pdfbox_plugin/tool/generate_bindings.dart
index 547a207..615b404 100644
--- a/pkgs/jni_gen/examples/pdfbox_plugin/tool/generate_bindings.dart
+++ b/pkgs/jnigen/examples/pdfbox_plugin/tool/generate_bindings.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:jni_gen/jni_gen.dart';
+import 'package:jnigen/jnigen.dart';
 
 const preamble = '''
 // Generated from Apache PDFBox library which is licensed under the Apache License 2.0.
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/windows/.gitignore b/pkgs/jnigen/examples/pdfbox_plugin/windows/.gitignore
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/windows/.gitignore
rename to pkgs/jnigen/examples/pdfbox_plugin/windows/.gitignore
diff --git a/pkgs/jni_gen/examples/pdfbox_plugin/windows/CMakeLists.txt b/pkgs/jnigen/examples/pdfbox_plugin/windows/CMakeLists.txt
similarity index 100%
rename from pkgs/jni_gen/examples/pdfbox_plugin/windows/CMakeLists.txt
rename to pkgs/jnigen/examples/pdfbox_plugin/windows/CMakeLists.txt
diff --git a/pkgs/jni_gen/java/.gitignore b/pkgs/jnigen/java/.gitignore
similarity index 100%
rename from pkgs/jni_gen/java/.gitignore
rename to pkgs/jnigen/java/.gitignore
diff --git a/pkgs/jni_gen/java/README.md b/pkgs/jnigen/java/README.md
similarity index 85%
rename from pkgs/jni_gen/java/README.md
rename to pkgs/jnigen/java/README.md
index 25a04b3..f304059 100644
--- a/pkgs/jni_gen/java/README.md
+++ b/pkgs/jnigen/java/README.md
@@ -3,10 +3,10 @@
 
 It analyzes java source code / jars and outputs a JSON representation of the public API.
 
-It's currently used in `jni_gen` to get the information of the Java API.
+It's currently used in `jnigen` to get the information of the Java API.
 
 ## Build
-When using it via `jni_gen`, the `jni_gen:setup` script will take care of building the jar in appropriate location.
+When using it via `jnigen`, the `jnigen:setup` script will take care of building the jar in appropriate location.
 
 To build the jar manually, run `mvn assembly:assembly` in project root. The jar will be created in `target/` directory.
 
@@ -31,7 +31,7 @@
 
 Note that some options are directly forwarded to the underlying tool.
 
-ApiSummarizer's current use is in `jni_gen` for obtaining public API of java packages. Only the features strictly required for that purpose are focused upon.
+ApiSummarizer's current use is in `jnigen` for obtaining public API of java packages. Only the features strictly required for that purpose are focused upon.
 
 ## Running tests
 Run `mvn surefire:test`
diff --git a/pkgs/jni_gen/java/pom.xml b/pkgs/jnigen/java/pom.xml
similarity index 94%
rename from pkgs/jni_gen/java/pom.xml
rename to pkgs/jnigen/java/pom.xml
index a36c78f..61ca7ed 100644
--- a/pkgs/jni_gen/java/pom.xml
+++ b/pkgs/jnigen/java/pom.xml
@@ -4,7 +4,7 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
-    <groupId>com.github.dart_lang.jni_gen</groupId>
+    <groupId>com.github.dart_lang.jnigen</groupId>
     <artifactId>ApiSummarizer</artifactId>
     <description>Summarize public APIs of java packages in JSON or protobuf.</description>
     <version>0.0.1-SNAPSHOT</version>
@@ -58,7 +58,7 @@
                     <appendAssemblyId>false</appendAssemblyId>
                     <archive>
                         <manifest>
-                            <mainClass>com.github.dart_lang.jni_gen.apisummarizer.Main</mainClass>
+                            <mainClass>com.github.dart_lang.jnigen.apisummarizer.Main</mainClass>
                         </manifest>
                     </archive>
                 </configuration>
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/Main.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/Main.java
similarity index 95%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/Main.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/Main.java
index f733c8e..4a83759 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/Main.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/Main.java
@@ -2,15 +2,15 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer;
+package com.github.dart_lang.jnigen.apisummarizer;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
-import com.github.dart_lang.jni_gen.apisummarizer.disasm.AsmSummarizer;
-import com.github.dart_lang.jni_gen.apisummarizer.doclet.SummarizerDoclet;
-import com.github.dart_lang.jni_gen.apisummarizer.elements.ClassDecl;
-import com.github.dart_lang.jni_gen.apisummarizer.util.Log;
+import com.github.dart_lang.jnigen.apisummarizer.disasm.AsmSummarizer;
+import com.github.dart_lang.jnigen.apisummarizer.doclet.SummarizerDoclet;
+import com.github.dart_lang.jnigen.apisummarizer.elements.ClassDecl;
+import com.github.dart_lang.jnigen.apisummarizer.util.Log;
 import java.io.File;
 import java.io.FileFilter;
 import java.io.IOException;
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmAnnotatedElementVisitor.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmAnnotatedElementVisitor.java
similarity index 85%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmAnnotatedElementVisitor.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmAnnotatedElementVisitor.java
index 8938ed7..ca39167 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmAnnotatedElementVisitor.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmAnnotatedElementVisitor.java
@@ -2,9 +2,9 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.disasm;
+package com.github.dart_lang.jnigen.apisummarizer.disasm;
 
-import com.github.dart_lang.jni_gen.apisummarizer.elements.JavaAnnotation;
+import com.github.dart_lang.jnigen.apisummarizer.elements.JavaAnnotation;
 import org.objectweb.asm.AnnotationVisitor;
 import org.objectweb.asm.Type;
 
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmAnnotationVisitor.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmAnnotationVisitor.java
similarity index 94%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmAnnotationVisitor.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmAnnotationVisitor.java
index 7496fc7..9f6d5e2 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmAnnotationVisitor.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmAnnotationVisitor.java
@@ -2,9 +2,9 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.disasm;
+package com.github.dart_lang.jnigen.apisummarizer.disasm;
 
-import com.github.dart_lang.jni_gen.apisummarizer.elements.JavaAnnotation;
+import com.github.dart_lang.jnigen.apisummarizer.elements.JavaAnnotation;
 import java.util.ArrayList;
 import java.util.List;
 import org.objectweb.asm.AnnotationVisitor;
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmClassVisitor.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmClassVisitor.java
similarity index 94%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmClassVisitor.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmClassVisitor.java
index faed831..187afc1 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmClassVisitor.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmClassVisitor.java
@@ -2,14 +2,14 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.disasm;
+package com.github.dart_lang.jnigen.apisummarizer.disasm;
 
 import static org.objectweb.asm.Opcodes.ACC_PROTECTED;
 import static org.objectweb.asm.Opcodes.ACC_PUBLIC;
 
-import com.github.dart_lang.jni_gen.apisummarizer.elements.*;
-import com.github.dart_lang.jni_gen.apisummarizer.util.SkipException;
-import com.github.dart_lang.jni_gen.apisummarizer.util.StreamUtil;
+import com.github.dart_lang.jnigen.apisummarizer.elements.*;
+import com.github.dart_lang.jnigen.apisummarizer.util.SkipException;
+import com.github.dart_lang.jnigen.apisummarizer.util.StreamUtil;
 import java.util.*;
 import org.objectweb.asm.*;
 
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmConstants.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmConstants.java
similarity index 84%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmConstants.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmConstants.java
index 668db64..e3d8165 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmConstants.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmConstants.java
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.disasm;
+package com.github.dart_lang.jnigen.apisummarizer.disasm;
 
 import static org.objectweb.asm.Opcodes.ASM9;
 
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmFieldVisitor.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmFieldVisitor.java
similarity index 79%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmFieldVisitor.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmFieldVisitor.java
index 5c91cb6..eb72302 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmFieldVisitor.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmFieldVisitor.java
@@ -2,10 +2,10 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.disasm;
+package com.github.dart_lang.jnigen.apisummarizer.disasm;
 
-import com.github.dart_lang.jni_gen.apisummarizer.elements.Field;
-import com.github.dart_lang.jni_gen.apisummarizer.elements.JavaAnnotation;
+import com.github.dart_lang.jnigen.apisummarizer.elements.Field;
+import com.github.dart_lang.jnigen.apisummarizer.elements.JavaAnnotation;
 import org.objectweb.asm.AnnotationVisitor;
 import org.objectweb.asm.FieldVisitor;
 
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmMethodVisitor.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmMethodVisitor.java
similarity index 89%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmMethodVisitor.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmMethodVisitor.java
index 02f56cf..6d66fd6 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmMethodVisitor.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmMethodVisitor.java
@@ -2,10 +2,10 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.disasm;
+package com.github.dart_lang.jnigen.apisummarizer.disasm;
 
-import com.github.dart_lang.jni_gen.apisummarizer.elements.JavaAnnotation;
-import com.github.dart_lang.jni_gen.apisummarizer.elements.Method;
+import com.github.dart_lang.jnigen.apisummarizer.elements.JavaAnnotation;
+import com.github.dart_lang.jnigen.apisummarizer.elements.Method;
 import java.util.ArrayList;
 import java.util.List;
 import org.objectweb.asm.AnnotationVisitor;
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmSummarizer.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmSummarizer.java
similarity index 95%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmSummarizer.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmSummarizer.java
index af89a0b..feee922 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/AsmSummarizer.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/AsmSummarizer.java
@@ -2,9 +2,9 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.disasm;
+package com.github.dart_lang.jnigen.apisummarizer.disasm;
 
-import com.github.dart_lang.jni_gen.apisummarizer.elements.ClassDecl;
+import com.github.dart_lang.jnigen.apisummarizer.elements.ClassDecl;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.List;
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/TypeUtils.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/TypeUtils.java
similarity index 92%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/TypeUtils.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/TypeUtils.java
index 17dd46e..70b075a 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/disasm/TypeUtils.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/disasm/TypeUtils.java
@@ -2,15 +2,15 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.disasm;
+package com.github.dart_lang.jnigen.apisummarizer.disasm;
 
 import static org.objectweb.asm.Opcodes.*;
 import static org.objectweb.asm.Type.ARRAY;
 import static org.objectweb.asm.Type.OBJECT;
 
-import com.github.dart_lang.jni_gen.apisummarizer.elements.DeclKind;
-import com.github.dart_lang.jni_gen.apisummarizer.elements.TypeUsage;
-import com.github.dart_lang.jni_gen.apisummarizer.util.SkipException;
+import com.github.dart_lang.jnigen.apisummarizer.elements.DeclKind;
+import com.github.dart_lang.jnigen.apisummarizer.elements.TypeUsage;
+import com.github.dart_lang.jnigen.apisummarizer.util.SkipException;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/doclet/AnnotationVisitor.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/doclet/AnnotationVisitor.java
similarity index 97%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/doclet/AnnotationVisitor.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/doclet/AnnotationVisitor.java
index 442a944..f5343ee 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/doclet/AnnotationVisitor.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/doclet/AnnotationVisitor.java
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.doclet;
+package com.github.dart_lang.jnigen.apisummarizer.doclet;
 
 import java.util.List;
 import java.util.stream.Collectors;
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/doclet/AstEnv.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/doclet/AstEnv.java
similarity index 93%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/doclet/AstEnv.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/doclet/AstEnv.java
index 2358a16..71e31c4 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/doclet/AstEnv.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/doclet/AstEnv.java
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.doclet;
+package com.github.dart_lang.jnigen.apisummarizer.doclet;
 
 import com.sun.source.util.DocTrees;
 import javax.lang.model.util.Elements;
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/doclet/ElementBuilders.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/doclet/ElementBuilders.java
similarity index 97%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/doclet/ElementBuilders.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/doclet/ElementBuilders.java
index 809174f..b1af92d 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/doclet/ElementBuilders.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/doclet/ElementBuilders.java
@@ -2,10 +2,10 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.doclet;
+package com.github.dart_lang.jnigen.apisummarizer.doclet;
 
-import com.github.dart_lang.jni_gen.apisummarizer.elements.*;
-import com.github.dart_lang.jni_gen.apisummarizer.util.StreamUtil;
+import com.github.dart_lang.jnigen.apisummarizer.elements.*;
+import com.github.dart_lang.jnigen.apisummarizer.util.StreamUtil;
 import com.sun.source.doctree.DocCommentTree;
 import java.util.HashMap;
 import java.util.List;
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/doclet/SummarizerDoclet.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/doclet/SummarizerDoclet.java
similarity index 80%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/doclet/SummarizerDoclet.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/doclet/SummarizerDoclet.java
index b0dfd75..0b6d98b 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/doclet/SummarizerDoclet.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/doclet/SummarizerDoclet.java
@@ -2,9 +2,9 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.doclet;
+package com.github.dart_lang.jnigen.apisummarizer.doclet;
 
-import com.github.dart_lang.jni_gen.apisummarizer.Main;
+import com.github.dart_lang.jnigen.apisummarizer.Main;
 import jdk.javadoc.doclet.DocletEnvironment;
 
 public class SummarizerDoclet extends SummarizerDocletBase {
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/doclet/SummarizerDocletBase.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/doclet/SummarizerDocletBase.java
similarity index 92%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/doclet/SummarizerDocletBase.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/doclet/SummarizerDocletBase.java
index 8e6067d..7d9bade 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/doclet/SummarizerDocletBase.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/doclet/SummarizerDocletBase.java
@@ -2,13 +2,13 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.doclet;
+package com.github.dart_lang.jnigen.apisummarizer.doclet;
 
-import com.github.dart_lang.jni_gen.apisummarizer.elements.ClassDecl;
-import com.github.dart_lang.jni_gen.apisummarizer.elements.Method;
-import com.github.dart_lang.jni_gen.apisummarizer.elements.Package;
-import com.github.dart_lang.jni_gen.apisummarizer.util.Log;
-import com.github.dart_lang.jni_gen.apisummarizer.util.SkipException;
+import com.github.dart_lang.jnigen.apisummarizer.elements.ClassDecl;
+import com.github.dart_lang.jnigen.apisummarizer.elements.Method;
+import com.github.dart_lang.jnigen.apisummarizer.elements.Package;
+import com.github.dart_lang.jnigen.apisummarizer.util.Log;
+import com.github.dart_lang.jnigen.apisummarizer.util.SkipException;
 import java.util.*;
 import javax.lang.model.SourceVersion;
 import javax.lang.model.element.*;
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/ClassDecl.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/ClassDecl.java
similarity index 95%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/ClassDecl.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/ClassDecl.java
index f838d9c..8131a55 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/ClassDecl.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/ClassDecl.java
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.elements;
+package com.github.dart_lang.jnigen.apisummarizer.elements;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/DeclKind.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/DeclKind.java
similarity index 82%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/DeclKind.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/DeclKind.java
index 376782d..e2e533e 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/DeclKind.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/DeclKind.java
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.elements;
+package com.github.dart_lang.jnigen.apisummarizer.elements;
 
 public enum DeclKind {
   CLASS,
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/Field.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/Field.java
similarity index 89%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/Field.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/Field.java
index c39c301..ced5cea 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/Field.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/Field.java
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.elements;
+package com.github.dart_lang.jnigen.apisummarizer.elements;
 
 import java.util.ArrayList;
 import java.util.HashSet;
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/JavaAnnotation.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/JavaAnnotation.java
similarity index 90%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/JavaAnnotation.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/JavaAnnotation.java
index d45ab0a..e8ba624 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/JavaAnnotation.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/JavaAnnotation.java
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.elements;
+package com.github.dart_lang.jnigen.apisummarizer.elements;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/JavaDocComment.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/JavaDocComment.java
similarity index 88%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/JavaDocComment.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/JavaDocComment.java
index 3f8d55e..c882c97 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/JavaDocComment.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/JavaDocComment.java
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.elements;
+package com.github.dart_lang.jnigen.apisummarizer.elements;
 
 public class JavaDocComment {
   // TODO(#28): Build a detailed tree representation of JavaDocComment
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/Method.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/Method.java
similarity index 90%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/Method.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/Method.java
index d1c3cca..bb558f4 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/Method.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/Method.java
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.elements;
+package com.github.dart_lang.jnigen.apisummarizer.elements;
 
 import java.util.ArrayList;
 import java.util.HashSet;
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/Package.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/Package.java
similarity index 81%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/Package.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/Package.java
index 8e2cc90..ca2bfce 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/Package.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/Package.java
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.elements;
+package com.github.dart_lang.jnigen.apisummarizer.elements;
 
 public class Package {
   public String name;
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/Param.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/Param.java
similarity index 87%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/Param.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/Param.java
index 5e50e73..433f6bf 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/Param.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/Param.java
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.elements;
+package com.github.dart_lang.jnigen.apisummarizer.elements;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/TypeParam.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/TypeParam.java
similarity index 83%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/TypeParam.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/TypeParam.java
index 17186e5..9045578 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/TypeParam.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/TypeParam.java
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.elements;
+package com.github.dart_lang.jnigen.apisummarizer.elements;
 
 import java.util.List;
 
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/TypeUsage.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/TypeUsage.java
similarity index 96%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/TypeUsage.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/TypeUsage.java
index 53419ce..a41b8ea 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/elements/TypeUsage.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/elements/TypeUsage.java
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.elements;
+package com.github.dart_lang.jnigen.apisummarizer.elements;
 
 import java.util.List;
 
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/util/Log.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/util/Log.java
similarity index 93%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/util/Log.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/util/Log.java
index 7add36b..b2b2d78 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/util/Log.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/util/Log.java
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.util;
+package com.github.dart_lang.jnigen.apisummarizer.util;
 
 public class Log {
   private static long lastPrinted = System.currentTimeMillis();
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/util/SkipException.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/util/SkipException.java
similarity index 89%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/util/SkipException.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/util/SkipException.java
index 158d819..1f253b0 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/util/SkipException.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/util/SkipException.java
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.util;
+package com.github.dart_lang.jnigen.apisummarizer.util;
 
 // Generic skip exception when the code cannot decide how to handle an element.
 // The caller in some above layer can catch this and skip to appropriate extent.
diff --git a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/util/StreamUtil.java b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/util/StreamUtil.java
similarity index 91%
rename from pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/util/StreamUtil.java
rename to pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/util/StreamUtil.java
index 2fd2b79..7dfa29b 100644
--- a/pkgs/jni_gen/java/src/main/java/com/github/dart_lang/jni_gen/apisummarizer/util/StreamUtil.java
+++ b/pkgs/jnigen/java/src/main/java/com/github/dart_lang/jnigen/apisummarizer/util/StreamUtil.java
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer.util;
+package com.github.dart_lang.jnigen.apisummarizer.util;
 
 import java.util.Arrays;
 import java.util.List;
diff --git a/pkgs/jni_gen/java/src/test/java/com/github/dart_lang/jni_gen/apisummarizer/DocletSummarizerTests.java b/pkgs/jnigen/java/src/test/java/com/github/dart_lang/jnigen/apisummarizer/DocletSummarizerTests.java
similarity index 93%
rename from pkgs/jni_gen/java/src/test/java/com/github/dart_lang/jni_gen/apisummarizer/DocletSummarizerTests.java
rename to pkgs/jnigen/java/src/test/java/com/github/dart_lang/jnigen/apisummarizer/DocletSummarizerTests.java
index afc7a05..ff130b4 100644
--- a/pkgs/jni_gen/java/src/test/java/com/github/dart_lang/jni_gen/apisummarizer/DocletSummarizerTests.java
+++ b/pkgs/jnigen/java/src/test/java/com/github/dart_lang/jnigen/apisummarizer/DocletSummarizerTests.java
@@ -2,12 +2,12 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer;
+package com.github.dart_lang.jnigen.apisummarizer;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
-import com.github.dart_lang.jni_gen.apisummarizer.elements.ClassDecl;
+import com.github.dart_lang.jnigen.apisummarizer.elements.ClassDecl;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
diff --git a/pkgs/jni_gen/java/src/test/java/com/github/dart_lang/jni_gen/apisummarizer/TestDoclet.java b/pkgs/jnigen/java/src/test/java/com/github/dart_lang/jnigen/apisummarizer/TestDoclet.java
similarity index 72%
rename from pkgs/jni_gen/java/src/test/java/com/github/dart_lang/jni_gen/apisummarizer/TestDoclet.java
rename to pkgs/jnigen/java/src/test/java/com/github/dart_lang/jnigen/apisummarizer/TestDoclet.java
index 188cd19..5a3949b 100644
--- a/pkgs/jni_gen/java/src/test/java/com/github/dart_lang/jni_gen/apisummarizer/TestDoclet.java
+++ b/pkgs/jnigen/java/src/test/java/com/github/dart_lang/jnigen/apisummarizer/TestDoclet.java
@@ -2,10 +2,10 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-package com.github.dart_lang.jni_gen.apisummarizer;
+package com.github.dart_lang.jnigen.apisummarizer;
 
-import com.github.dart_lang.jni_gen.apisummarizer.doclet.SummarizerDocletBase;
-import com.github.dart_lang.jni_gen.apisummarizer.elements.ClassDecl;
+import com.github.dart_lang.jnigen.apisummarizer.doclet.SummarizerDocletBase;
+import com.github.dart_lang.jnigen.apisummarizer.elements.ClassDecl;
 import java.util.List;
 import jdk.javadoc.doclet.DocletEnvironment;
 
diff --git a/pkgs/jni_gen/java/src/test/resources/com/example/Example.java b/pkgs/jnigen/java/src/test/resources/com/example/Example.java
similarity index 100%
rename from pkgs/jni_gen/java/src/test/resources/com/example/Example.java
rename to pkgs/jnigen/java/src/test/resources/com/example/Example.java
diff --git a/pkgs/jni_gen/lib/jni_gen.dart b/pkgs/jnigen/lib/jnigen.dart
similarity index 82%
rename from pkgs/jni_gen/lib/jni_gen.dart
rename to pkgs/jnigen/lib/jnigen.dart
index 33068f4..8e2ebe0 100644
--- a/pkgs/jni_gen/lib/jni_gen.dart
+++ b/pkgs/jnigen/lib/jnigen.dart
@@ -2,10 +2,10 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-/// This library exports a high level programmatic API to jni_gen, the entry
+/// This library exports a high level programmatic API to jnigen, the entry
 /// point of which is runJniGenTask function, which takes run configuration as
 /// a JniGenTask.
-library jni_gen;
+library jnigen;
 
 export 'src/elements/elements.dart';
 export 'src/config/config.dart';
diff --git a/pkgs/jni_gen/lib/src/bindings/bindings.dart b/pkgs/jnigen/lib/src/bindings/bindings.dart
similarity index 100%
rename from pkgs/jni_gen/lib/src/bindings/bindings.dart
rename to pkgs/jnigen/lib/src/bindings/bindings.dart
diff --git a/pkgs/jni_gen/lib/src/bindings/c_bindings.dart b/pkgs/jnigen/lib/src/bindings/c_bindings.dart
similarity index 98%
rename from pkgs/jni_gen/lib/src/bindings/c_bindings.dart
rename to pkgs/jnigen/lib/src/bindings/c_bindings.dart
index f6b7ddf..14a2d2e 100644
--- a/pkgs/jni_gen/lib/src/bindings/c_bindings.dart
+++ b/pkgs/jnigen/lib/src/bindings/c_bindings.dart
@@ -2,8 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:jni_gen/src/elements/elements.dart';
-import 'package:jni_gen/src/config/config.dart';
+import 'package:jnigen/src/elements/elements.dart';
+import 'package:jnigen/src/config/config.dart';
 
 import 'common.dart';
 
@@ -338,7 +338,7 @@
 }
 
 class CPreludes {
-  static const autoGeneratedNotice = '// Autogenerated by jni_gen. '
+  static const autoGeneratedNotice = '// Autogenerated by jnigen. '
       'DO NOT EDIT!\n\n';
   static const includes = '#include <stdint.h>\n'
       '#include "jni.h"\n'
diff --git a/pkgs/jni_gen/lib/src/bindings/common.dart b/pkgs/jnigen/lib/src/bindings/common.dart
similarity index 97%
rename from pkgs/jni_gen/lib/src/bindings/common.dart
rename to pkgs/jnigen/lib/src/bindings/common.dart
index dd46b6b..5c93f54 100644
--- a/pkgs/jni_gen/lib/src/bindings/common.dart
+++ b/pkgs/jnigen/lib/src/bindings/common.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:jni_gen/src/elements/elements.dart';
+import 'package:jnigen/src/elements/elements.dart';
 
 String mangledClassName(ClassDecl decl) =>
     decl.binaryName.replaceAll('.', '_').replaceAll('\$', '__');
diff --git a/pkgs/jni_gen/lib/src/bindings/dart_bindings.dart b/pkgs/jnigen/lib/src/bindings/dart_bindings.dart
similarity index 97%
rename from pkgs/jni_gen/lib/src/bindings/dart_bindings.dart
rename to pkgs/jnigen/lib/src/bindings/dart_bindings.dart
index 3ca7353..0f205c2 100644
--- a/pkgs/jni_gen/lib/src/bindings/dart_bindings.dart
+++ b/pkgs/jnigen/lib/src/bindings/dart_bindings.dart
@@ -4,9 +4,9 @@
 
 import 'dart:io';
 
-import 'package:jni_gen/src/elements/elements.dart';
-import 'package:jni_gen/src/config/config.dart';
-import 'package:jni_gen/src/util/rename_conflict.dart';
+import 'package:jnigen/src/elements/elements.dart';
+import 'package:jnigen/src/config/config.dart';
+import 'package:jnigen/src/util/rename_conflict.dart';
 
 import 'symbol_resolver.dart';
 import 'common.dart';
@@ -363,7 +363,7 @@
       'final Pointer<T> Function<T extends NativeType>(String sym) '
       'jlookup = Jni.getInstance().initGeneratedLibrary("$libraryName");\n'
       '\n';
-  static const autoGeneratedNotice = '// Autogenerated by jni_gen. '
+  static const autoGeneratedNotice = '// Autogenerated by jnigen. '
       'DO NOT EDIT!\n\n';
   static const defaultImports = 'import "dart:ffi" as ffi;\n\n'
       'import "package:jni/jni.dart" as jni;\n\n';
diff --git a/pkgs/jni_gen/lib/src/bindings/preprocessor.dart b/pkgs/jnigen/lib/src/bindings/preprocessor.dart
similarity index 95%
rename from pkgs/jni_gen/lib/src/bindings/preprocessor.dart
rename to pkgs/jnigen/lib/src/bindings/preprocessor.dart
index 2177123..dabe584 100644
--- a/pkgs/jni_gen/lib/src/bindings/preprocessor.dart
+++ b/pkgs/jnigen/lib/src/bindings/preprocessor.dart
@@ -4,9 +4,9 @@
 
 import 'dart:io';
 
-import 'package:jni_gen/src/elements/elements.dart';
-import 'package:jni_gen/src/config/config.dart';
-import 'package:jni_gen/src/util/rename_conflict.dart';
+import 'package:jnigen/src/elements/elements.dart';
+import 'package:jnigen/src/config/config.dart';
+import 'package:jnigen/src/util/rename_conflict.dart';
 import 'common.dart';
 
 /// Preprocessor which fills information needed by both Dart and C generators.
diff --git a/pkgs/jni_gen/lib/src/bindings/symbol_resolver.dart b/pkgs/jnigen/lib/src/bindings/symbol_resolver.dart
similarity index 98%
rename from pkgs/jni_gen/lib/src/bindings/symbol_resolver.dart
rename to pkgs/jnigen/lib/src/bindings/symbol_resolver.dart
index 0ccdc86..530e570 100644
--- a/pkgs/jni_gen/lib/src/bindings/symbol_resolver.dart
+++ b/pkgs/jnigen/lib/src/bindings/symbol_resolver.dart
@@ -6,7 +6,7 @@
 // a locally meaningful name, when creating dart bindings
 
 import 'dart:math';
-import 'package:jni_gen/src/util/name_utils.dart';
+import 'package:jnigen/src/util/name_utils.dart';
 
 abstract class SymbolResolver {
   /// Resolve the binary name to a String which can be used in dart code.
diff --git a/pkgs/jni_gen/lib/src/config/config.dart b/pkgs/jnigen/lib/src/config/config.dart
similarity index 98%
rename from pkgs/jni_gen/lib/src/config/config.dart
rename to pkgs/jnigen/lib/src/config/config.dart
index 6d18085..4094e3c 100644
--- a/pkgs/jni_gen/lib/src/config/config.dart
+++ b/pkgs/jnigen/lib/src/config/config.dart
@@ -4,7 +4,7 @@
 
 import 'dart:io';
 
-import 'package:jni_gen/src/elements/elements.dart';
+import 'package:jnigen/src/elements/elements.dart';
 
 import 'yaml_reader.dart';
 import 'filters.dart';
@@ -41,14 +41,14 @@
 /// The SDK directories for platform stub JARs and sources are searched in the
 /// same order in which [versions] are specified.
 ///
-/// If [includeSources] is true, `jni_gen` searches for Android SDK sources
+/// If [includeSources] is true, `jnigen` searches for Android SDK sources
 /// as well in the SDK directory and adds them to the source path.
 ///
 /// If [addGradleDeps] is true, a gradle stub is run in order to collect the
 /// actual compile classpath of the `android/` subproject.
 /// This will fail if there was no previous build of the project, or if a
 /// `clean` task was run either through flutter or gradle wrapper. In such case,
-/// it's required to run `flutter build apk` & retry running `jni_gen`.
+/// it's required to run `flutter build apk` & retry running `jnigen`.
 ///
 /// A configuration is invalid if [versions] is unspecified or empty, and
 /// [addGradleDeps] is also false. If [sdkRoot] is not specified but versions is
@@ -84,7 +84,7 @@
   /// stub in android subproject of this project.
   ///
   /// An Android build must have happened before we are able to obtain classpath
-  /// of Gradle dependencies. Run `flutter build apk` before running a jni_gen
+  /// of Gradle dependencies. Run `flutter build apk` before running a jnigen
   /// script with this option.
   ///
   /// For the same reason, if the flutter project is a plugin instead of
@@ -126,7 +126,7 @@
   ClassFilter? classes;
 }
 
-/// Configuration for jni_gen binding generation.
+/// Configuration for jnigen binding generation.
 class Config {
   Config({
     required this.classes,
diff --git a/pkgs/jni_gen/lib/src/config/filters.dart b/pkgs/jnigen/lib/src/config/filters.dart
similarity index 98%
rename from pkgs/jni_gen/lib/src/config/filters.dart
rename to pkgs/jnigen/lib/src/config/filters.dart
index 66f1612..962a135 100644
--- a/pkgs/jni_gen/lib/src/config/filters.dart
+++ b/pkgs/jnigen/lib/src/config/filters.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:jni_gen/src/elements/elements.dart';
+import 'package:jnigen/src/elements/elements.dart';
 
 bool _matchesCompletely(String string, Pattern pattern) {
   final match = pattern.matchAsPrefix(string);
diff --git a/pkgs/jni_gen/lib/src/config/yaml_reader.dart b/pkgs/jnigen/lib/src/config/yaml_reader.dart
similarity index 100%
rename from pkgs/jni_gen/lib/src/config/yaml_reader.dart
rename to pkgs/jnigen/lib/src/config/yaml_reader.dart
diff --git a/pkgs/jni_gen/lib/src/elements/elements.dart b/pkgs/jnigen/lib/src/elements/elements.dart
similarity index 100%
rename from pkgs/jni_gen/lib/src/elements/elements.dart
rename to pkgs/jnigen/lib/src/elements/elements.dart
diff --git a/pkgs/jni_gen/lib/src/elements/elements.g.dart b/pkgs/jnigen/lib/src/elements/elements.g.dart
similarity index 100%
rename from pkgs/jni_gen/lib/src/elements/elements.g.dart
rename to pkgs/jnigen/lib/src/elements/elements.g.dart
diff --git a/pkgs/jni_gen/lib/src/generate_bindings.dart b/pkgs/jnigen/lib/src/generate_bindings.dart
similarity index 100%
rename from pkgs/jni_gen/lib/src/generate_bindings.dart
rename to pkgs/jnigen/lib/src/generate_bindings.dart
diff --git a/pkgs/jni_gen/lib/src/summary/summary.dart b/pkgs/jnigen/lib/src/summary/summary.dart
similarity index 93%
rename from pkgs/jni_gen/lib/src/summary/summary.dart
rename to pkgs/jnigen/lib/src/summary/summary.dart
index a259f27..5a7d714 100644
--- a/pkgs/jni_gen/lib/src/summary/summary.dart
+++ b/pkgs/jnigen/lib/src/summary/summary.dart
@@ -3,7 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import 'dart:io';
-import 'package:jni_gen/src/util/command_output.dart';
+import 'package:jnigen/src/util/command_output.dart';
 
 /// A command based summary source which calls the ApiSummarizer command.
 /// [sourcePaths] and [classPaths] can be provided for the summarizer to find
@@ -15,11 +15,11 @@
 /// the directory names reflect actual package paths. For example, a class name
 /// com.example.pkg.Cls will be mapped to com/example/pkg/Cls.java.
 ///
-/// The default summarizer needs to be built with `jni_gen:setup`
+/// The default summarizer needs to be built with `jnigen:setup`
 /// script before this API is used.
 class SummarizerCommand {
   SummarizerCommand({
-    this.command = "java -jar .dart_tool/jni_gen/ApiSummarizer.jar",
+    this.command = "java -jar .dart_tool/jnigen/ApiSummarizer.jar",
     List<Uri>? sourcePath,
     List<Uri>? classPath,
     this.extraArgs = const [],
diff --git a/pkgs/jni_gen/lib/src/tools/android_sdk_tools.dart b/pkgs/jnigen/lib/src/tools/android_sdk_tools.dart
similarity index 100%
rename from pkgs/jni_gen/lib/src/tools/android_sdk_tools.dart
rename to pkgs/jnigen/lib/src/tools/android_sdk_tools.dart
diff --git a/pkgs/jni_gen/lib/src/tools/build_summarizer.dart b/pkgs/jnigen/lib/src/tools/build_summarizer.dart
similarity index 86%
rename from pkgs/jni_gen/lib/src/tools/build_summarizer.dart
rename to pkgs/jnigen/lib/src/tools/build_summarizer.dart
index 46847fb..b018327 100644
--- a/pkgs/jni_gen/lib/src/tools/build_summarizer.dart
+++ b/pkgs/jnigen/lib/src/tools/build_summarizer.dart
@@ -6,17 +6,17 @@
 
 import 'package:path/path.dart';
 
-import 'package:jni_gen/src/util/find_package.dart';
+import 'package:jnigen/src/util/find_package.dart';
 
-final toolPath = join('.', '.dart_tool', 'jni_gen');
+final toolPath = join('.', '.dart_tool', 'jnigen');
 final mvnTargetDir = join(toolPath, 'target');
 final jarFile = join(toolPath, 'ApiSummarizer.jar');
 final targetJarFile = join(mvnTargetDir, 'ApiSummarizer.jar');
 
 Future<void> buildApiSummarizer() async {
-  final pkg = await findPackageRoot('jni_gen');
+  final pkg = await findPackageRoot('jnigen');
   if (pkg == null) {
-    stderr.writeln('package jni_gen not found!');
+    stderr.writeln('package jnigen not found!');
     exitCode = 2;
     return;
   }
@@ -42,7 +42,7 @@
   final jarExists = await File(jarFile).exists();
   final isJarStale = jarExists &&
       await isPackageModifiedAfter(
-          'jni_gen', await File(jarFile).lastModified(), 'java/');
+          'jnigen', await File(jarFile).lastModified(), 'java/');
   if (isJarStale) {
     stderr.writeln('Rebuilding ApiSummarizer component since sources '
         'have changed. This might take some time.');
diff --git a/pkgs/jni_gen/lib/src/tools/maven_tools.dart b/pkgs/jnigen/lib/src/tools/maven_tools.dart
similarity index 100%
rename from pkgs/jni_gen/lib/src/tools/maven_tools.dart
rename to pkgs/jnigen/lib/src/tools/maven_tools.dart
diff --git a/pkgs/jni_gen/lib/src/tools/tools.dart b/pkgs/jnigen/lib/src/tools/tools.dart
similarity index 100%
rename from pkgs/jni_gen/lib/src/tools/tools.dart
rename to pkgs/jnigen/lib/src/tools/tools.dart
diff --git a/pkgs/jni_gen/lib/src/util/command_output.dart b/pkgs/jnigen/lib/src/util/command_output.dart
similarity index 100%
rename from pkgs/jni_gen/lib/src/util/command_output.dart
rename to pkgs/jnigen/lib/src/util/command_output.dart
diff --git a/pkgs/jni_gen/lib/src/util/find_package.dart b/pkgs/jnigen/lib/src/util/find_package.dart
similarity index 100%
rename from pkgs/jni_gen/lib/src/util/find_package.dart
rename to pkgs/jnigen/lib/src/util/find_package.dart
diff --git a/pkgs/jni_gen/lib/src/util/name_utils.dart b/pkgs/jnigen/lib/src/util/name_utils.dart
similarity index 94%
rename from pkgs/jni_gen/lib/src/util/name_utils.dart
rename to pkgs/jnigen/lib/src/util/name_utils.dart
index f75d2db..38d980b 100644
--- a/pkgs/jni_gen/lib/src/util/name_utils.dart
+++ b/pkgs/jnigen/lib/src/util/name_utils.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:jni_gen/src/elements/elements.dart';
+import 'package:jnigen/src/elements/elements.dart';
 
 String getPackageName(String binaryName) => cutFromLast(binaryName, '.')[0];
 
diff --git a/pkgs/jni_gen/lib/src/util/rename_conflict.dart b/pkgs/jnigen/lib/src/util/rename_conflict.dart
similarity index 100%
rename from pkgs/jni_gen/lib/src/util/rename_conflict.dart
rename to pkgs/jnigen/lib/src/util/rename_conflict.dart
diff --git a/pkgs/jni_gen/lib/src/writers/writers.dart b/pkgs/jnigen/lib/src/writers/writers.dart
similarity index 94%
rename from pkgs/jni_gen/lib/src/writers/writers.dart
rename to pkgs/jnigen/lib/src/writers/writers.dart
index 6febf91..c1caeb7 100644
--- a/pkgs/jni_gen/lib/src/writers/writers.dart
+++ b/pkgs/jnigen/lib/src/writers/writers.dart
@@ -4,11 +4,11 @@
 
 import 'dart:io';
 
-import 'package:jni_gen/src/bindings/bindings.dart';
+import 'package:jnigen/src/bindings/bindings.dart';
 
-import 'package:jni_gen/src/elements/elements.dart';
-import 'package:jni_gen/src/config/config.dart';
-import 'package:jni_gen/src/util/find_package.dart';
+import 'package:jnigen/src/elements/elements.dart';
+import 'package:jnigen/src/config/config.dart';
+import 'package:jnigen/src/util/find_package.dart';
 
 abstract class BindingsWriter {
   Future<void> writeBindings(Iterable<ClassDecl> classes);
@@ -119,7 +119,7 @@
     await _copyFileFromPackage(
         'jni', 'src/dartjni.h', cRoot.resolve('$subdir/dartjni.h'));
     await _copyFileFromPackage(
-        'jni_gen', 'cmake/CMakeLists.txt.tmpl', cRoot.resolve('CMakeLists.txt'),
+        'jnigen', 'cmake/CMakeLists.txt.tmpl', cRoot.resolve('CMakeLists.txt'),
         transform: (s) {
       return s
           .replaceAll('{{LIBRARY_NAME}}', libraryName)
diff --git a/pkgs/jni_gen/lib/tools.dart b/pkgs/jnigen/lib/tools.dart
similarity index 91%
rename from pkgs/jni_gen/lib/tools.dart
rename to pkgs/jnigen/lib/tools.dart
index 91934d3..252e4b7 100644
--- a/pkgs/jni_gen/lib/tools.dart
+++ b/pkgs/jnigen/lib/tools.dart
@@ -2,6 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-library jni_gen_tools;
+library jnigen_tools;
 
 export 'src/tools/tools.dart';
diff --git a/pkgs/jni_gen/pubspec.yaml b/pkgs/jnigen/pubspec.yaml
similarity index 90%
rename from pkgs/jni_gen/pubspec.yaml
rename to pkgs/jnigen/pubspec.yaml
index f347657..fd538fc 100644
--- a/pkgs/jni_gen/pubspec.yaml
+++ b/pkgs/jnigen/pubspec.yaml
@@ -2,9 +2,9 @@
 # for details. All rights reserved. Use of this source code is governed by a
 # BSD-style license that can be found in the LICENSE file.
 
-name: jni_gen
+name: jnigen
 version: 0.0.1
-homepage: https://github.com/dart-lang/jni_gen
+homepage: https://github.com/dart-lang/jnigen
 description: Experimental generator for FFI+JNI bindings.
 
 environment:
diff --git a/pkgs/jni_gen/test/bindings_test.dart b/pkgs/jnigen/test/bindings_test.dart
similarity index 93%
rename from pkgs/jni_gen/test/bindings_test.dart
rename to pkgs/jnigen/test/bindings_test.dart
index 51b92eb..f8bab76 100644
--- a/pkgs/jni_gen/test/bindings_test.dart
+++ b/pkgs/jnigen/test/bindings_test.dart
@@ -16,8 +16,8 @@
 import 'package:test/test.dart';
 
 // ignore_for_file: avoid_relative_lib_imports
-import 'simple_package_test/lib/com/github/dart_lang/jni_gen/simple_package.dart';
-import 'simple_package_test/lib/com/github/dart_lang/jni_gen/pkg2.dart';
+import 'simple_package_test/lib/com/github/dart_lang/jnigen/simple_package.dart';
+import 'simple_package_test/lib/com/github/dart_lang/jnigen/pkg2.dart';
 import 'jackson_core_test/third_party/lib/com/fasterxml/jackson/core.dart';
 
 import 'test_util/test_util.dart';
@@ -37,7 +37,7 @@
       workingDirectory: simplePackageJavaPath);
   await runCmd('dart', [
     'run',
-    'jni_gen:download_maven_jars',
+    'jnigen:download_maven_jars',
     '--config',
     join(jacksonCorePath, 'jnigen.yaml')
   ]);
diff --git a/pkgs/jni_gen/test/config_test.dart b/pkgs/jnigen/test/config_test.dart
similarity index 97%
rename from pkgs/jni_gen/test/config_test.dart
rename to pkgs/jnigen/test/config_test.dart
index e7b8c25..0c5a78e 100644
--- a/pkgs/jni_gen/test/config_test.dart
+++ b/pkgs/jnigen/test/config_test.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:jni_gen/src/config/config.dart';
+import 'package:jnigen/src/config/config.dart';
 import 'package:test/test.dart';
 import 'package:path/path.dart' hide equals;
 
diff --git a/pkgs/jni_gen/test/jackson_core_test/.gitignore b/pkgs/jnigen/test/jackson_core_test/.gitignore
similarity index 100%
rename from pkgs/jni_gen/test/jackson_core_test/.gitignore
rename to pkgs/jnigen/test/jackson_core_test/.gitignore
diff --git a/pkgs/jni_gen/test/jackson_core_test/generate.dart b/pkgs/jnigen/test/jackson_core_test/generate.dart
similarity index 98%
rename from pkgs/jni_gen/test/jackson_core_test/generate.dart
rename to pkgs/jnigen/test/jackson_core_test/generate.dart
index 919fadb..32655d5 100644
--- a/pkgs/jni_gen/test/jackson_core_test/generate.dart
+++ b/pkgs/jnigen/test/jackson_core_test/generate.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:jni_gen/jni_gen.dart';
+import 'package:jnigen/jnigen.dart';
 import 'package:path/path.dart' hide equals;
 
 const jacksonPreamble = '// Generated from jackson-core which is licensed under'
diff --git a/pkgs/jni_gen/test/jackson_core_test/generated_files_test.dart b/pkgs/jnigen/test/jackson_core_test/generated_files_test.dart
similarity index 100%
rename from pkgs/jni_gen/test/jackson_core_test/generated_files_test.dart
rename to pkgs/jnigen/test/jackson_core_test/generated_files_test.dart
diff --git a/pkgs/jni_gen/test/jackson_core_test/jnigen.yaml b/pkgs/jnigen/test/jackson_core_test/jnigen.yaml
similarity index 100%
rename from pkgs/jni_gen/test/jackson_core_test/jnigen.yaml
rename to pkgs/jnigen/test/jackson_core_test/jnigen.yaml
diff --git a/pkgs/jni_gen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core.dart b/pkgs/jnigen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core.dart
similarity index 99%
rename from pkgs/jni_gen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core.dart
rename to pkgs/jnigen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core.dart
index 6ecc806..1f4a1aa 100644
--- a/pkgs/jni_gen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core.dart
+++ b/pkgs/jnigen/test/jackson_core_test/third_party/lib/com/fasterxml/jackson/core.dart
@@ -15,7 +15,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Autogenerated by jni_gen. DO NOT EDIT!
+// Autogenerated by jnigen. DO NOT EDIT!
 
 // ignore_for_file: camel_case_types
 // ignore_for_file: non_constant_identifier_names
diff --git a/pkgs/jni_gen/test/jackson_core_test/third_party/lib/init.dart b/pkgs/jnigen/test/jackson_core_test/third_party/lib/init.dart
similarity index 100%
rename from pkgs/jni_gen/test/jackson_core_test/third_party/lib/init.dart
rename to pkgs/jnigen/test/jackson_core_test/third_party/lib/init.dart
diff --git a/pkgs/jni_gen/test/jackson_core_test/third_party/src/CMakeLists.txt b/pkgs/jnigen/test/jackson_core_test/third_party/src/CMakeLists.txt
similarity index 100%
rename from pkgs/jni_gen/test/jackson_core_test/third_party/src/CMakeLists.txt
rename to pkgs/jnigen/test/jackson_core_test/third_party/src/CMakeLists.txt
diff --git a/pkgs/jni_gen/test/jackson_core_test/third_party/src/dartjni.h b/pkgs/jnigen/test/jackson_core_test/third_party/src/dartjni.h
similarity index 100%
rename from pkgs/jni_gen/test/jackson_core_test/third_party/src/dartjni.h
rename to pkgs/jnigen/test/jackson_core_test/third_party/src/dartjni.h
diff --git a/pkgs/jni_gen/test/jackson_core_test/third_party/src/jackson_core_test.c b/pkgs/jnigen/test/jackson_core_test/third_party/src/jackson_core_test.c
similarity index 99%
rename from pkgs/jni_gen/test/jackson_core_test/third_party/src/jackson_core_test.c
rename to pkgs/jnigen/test/jackson_core_test/third_party/src/jackson_core_test.c
index f91f6c0..a690b7c 100644
--- a/pkgs/jni_gen/test/jackson_core_test/third_party/src/jackson_core_test.c
+++ b/pkgs/jnigen/test/jackson_core_test/third_party/src/jackson_core_test.c
@@ -15,7 +15,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-// Autogenerated by jni_gen. DO NOT EDIT!
+// Autogenerated by jnigen. DO NOT EDIT!
 
 #include <stdint.h>
 #include "jni.h"
diff --git a/pkgs/jni_gen/test/package_resolver_test.dart b/pkgs/jnigen/test/package_resolver_test.dart
similarity index 94%
rename from pkgs/jni_gen/test/package_resolver_test.dart
rename to pkgs/jnigen/test/package_resolver_test.dart
index ac58090..f8f1be8 100644
--- a/pkgs/jni_gen/test/package_resolver_test.dart
+++ b/pkgs/jnigen/test/package_resolver_test.dart
@@ -2,8 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:jni_gen/src/bindings/symbol_resolver.dart';
-import 'package:jni_gen/src/util/name_utils.dart';
+import 'package:jnigen/src/bindings/symbol_resolver.dart';
+import 'package:jnigen/src/util/name_utils.dart';
 import 'package:test/test.dart';
 
 class ResolverTest {
diff --git a/pkgs/jni_gen/test/simple_package_test/.gitignore b/pkgs/jnigen/test/simple_package_test/.gitignore
similarity index 100%
rename from pkgs/jni_gen/test/simple_package_test/.gitignore
rename to pkgs/jnigen/test/simple_package_test/.gitignore
diff --git a/pkgs/jni_gen/test/simple_package_test/generate.dart b/pkgs/jnigen/test/simple_package_test/generate.dart
similarity index 87%
rename from pkgs/jni_gen/test/simple_package_test/generate.dart
rename to pkgs/jnigen/test/simple_package_test/generate.dart
index 2673a0f..471a648 100644
--- a/pkgs/jni_gen/test/simple_package_test/generate.dart
+++ b/pkgs/jnigen/test/simple_package_test/generate.dart
@@ -5,7 +5,7 @@
 import 'dart:io';
 
 import 'package:path/path.dart';
-import 'package:jni_gen/jni_gen.dart';
+import 'package:jnigen/jnigen.dart';
 
 import '../test_util/test_util.dart';
 
@@ -13,7 +13,7 @@
 final testRoot = join('test', testName);
 final javaPath = join(testRoot, 'java');
 
-var javaPrefix = join('com', 'github', 'dart_lang', 'jni_gen');
+var javaPrefix = join('com', 'github', 'dart_lang', 'jnigen');
 
 var javaFiles = [
   join(javaPrefix, 'simple_package', 'Example.java'),
@@ -39,8 +39,8 @@
     sourcePath: [Uri.directory(javaPath)],
     classPath: [Uri.directory(javaPath)],
     classes: [
-      'com.github.dart_lang.jni_gen.simple_package',
-      'com.github.dart_lang.jni_gen.pkg2',
+      'com.github.dart_lang.jnigen.simple_package',
+      'com.github.dart_lang.jnigen.pkg2',
     ],
     cRoot: cWrapperDir,
     dartRoot: dartWrappersRoot,
diff --git a/pkgs/jni_gen/test/simple_package_test/generated_files_test.dart b/pkgs/jnigen/test/simple_package_test/generated_files_test.dart
similarity index 100%
rename from pkgs/jni_gen/test/simple_package_test/generated_files_test.dart
rename to pkgs/jnigen/test/simple_package_test/generated_files_test.dart
diff --git a/pkgs/jnigen/test/simple_package_test/java/com/github/dart_lang/jnigen/pkg2/C2.java b/pkgs/jnigen/test/simple_package_test/java/com/github/dart_lang/jnigen/pkg2/C2.java
new file mode 100644
index 0000000..a3c8204
--- /dev/null
+++ b/pkgs/jnigen/test/simple_package_test/java/com/github/dart_lang/jnigen/pkg2/C2.java
@@ -0,0 +1,5 @@
+package com.github.dart_lang.jnigen.pkg2;
+
+public class C2 {
+  public static int CONSTANT = 12;
+}
diff --git a/pkgs/jni_gen/test/simple_package_test/java/com/github/dart_lang/jni_gen/simple_package/Example.java b/pkgs/jnigen/test/simple_package_test/java/com/github/dart_lang/jnigen/simple_package/Example.java
similarity index 92%
rename from pkgs/jni_gen/test/simple_package_test/java/com/github/dart_lang/jni_gen/simple_package/Example.java
rename to pkgs/jnigen/test/simple_package_test/java/com/github/dart_lang/jnigen/simple_package/Example.java
index 0133b8f..81c2dd7 100644
--- a/pkgs/jni_gen/test/simple_package_test/java/com/github/dart_lang/jni_gen/simple_package/Example.java
+++ b/pkgs/jnigen/test/simple_package_test/java/com/github/dart_lang/jnigen/simple_package/Example.java
@@ -1,4 +1,4 @@
-package com.github.dart_lang.jni_gen.simple_package;
+package com.github.dart_lang.jnigen.simple_package;
 
 public class Example {
   public static final int ON = 1;
diff --git a/pkgs/jni_gen/test/simple_package_test/lib/com/github/dart_lang/jni_gen/pkg2.dart b/pkgs/jnigen/test/simple_package_test/lib/com/github/dart_lang/jnigen/pkg2.dart
similarity index 80%
rename from pkgs/jni_gen/test/simple_package_test/lib/com/github/dart_lang/jni_gen/pkg2.dart
rename to pkgs/jnigen/test/simple_package_test/lib/com/github/dart_lang/jnigen/pkg2.dart
index 4f3bea4..1d9f5ee 100644
--- a/pkgs/jni_gen/test/simple_package_test/lib/com/github/dart_lang/jni_gen/pkg2.dart
+++ b/pkgs/jnigen/test/simple_package_test/lib/com/github/dart_lang/jnigen/pkg2.dart
@@ -1,4 +1,4 @@
-// Autogenerated by jni_gen. DO NOT EDIT!
+// Autogenerated by jnigen. DO NOT EDIT!
 
 // ignore_for_file: camel_case_types
 // ignore_for_file: non_constant_identifier_names
@@ -13,20 +13,20 @@
 
 import "../../../../init.dart" show jlookup;
 
-/// from: com.github.dart_lang.jni_gen.pkg2.C2
+/// from: com.github.dart_lang.jnigen.pkg2.C2
 class C2 extends jni.JlObject {
   C2.fromRef(ffi.Pointer<ffi.Void> ref) : super.fromRef(ref);
 
   static final _get_CONSTANT =
       jlookup<ffi.NativeFunction<ffi.Int32 Function()>>(
-              "get_com_github_dart_lang_jni_gen_pkg2_C2_CONSTANT")
+              "get_com_github_dart_lang_jnigen_pkg2_C2_CONSTANT")
           .asFunction<int Function()>();
 
   /// from: static public int CONSTANT
   static int get CONSTANT => _get_CONSTANT();
   static final _set_CONSTANT =
       jlookup<ffi.NativeFunction<ffi.Void Function(ffi.Int32)>>(
-              "set_com_github_dart_lang_jni_gen_pkg2_C2_CONSTANT")
+              "set_com_github_dart_lang_jnigen_pkg2_C2_CONSTANT")
           .asFunction<void Function(int)>();
 
   /// from: static public int CONSTANT
@@ -34,7 +34,7 @@
 
   static final _ctor =
       jlookup<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function()>>(
-              "com_github_dart_lang_jni_gen_pkg2_C2_ctor")
+              "com_github_dart_lang_jnigen_pkg2_C2_ctor")
           .asFunction<ffi.Pointer<ffi.Void> Function()>();
 
   /// from: public void <init>()
diff --git a/pkgs/jni_gen/test/simple_package_test/lib/com/github/dart_lang/jni_gen/simple_package.dart b/pkgs/jnigen/test/simple_package_test/lib/com/github/dart_lang/jnigen/simple_package.dart
similarity index 74%
rename from pkgs/jni_gen/test/simple_package_test/lib/com/github/dart_lang/jni_gen/simple_package.dart
rename to pkgs/jnigen/test/simple_package_test/lib/com/github/dart_lang/jnigen/simple_package.dart
index 370bad8..41655b8 100644
--- a/pkgs/jni_gen/test/simple_package_test/lib/com/github/dart_lang/jni_gen/simple_package.dart
+++ b/pkgs/jnigen/test/simple_package_test/lib/com/github/dart_lang/jnigen/simple_package.dart
@@ -1,4 +1,4 @@
-// Autogenerated by jni_gen. DO NOT EDIT!
+// Autogenerated by jnigen. DO NOT EDIT!
 
 // ignore_for_file: camel_case_types
 // ignore_for_file: non_constant_identifier_names
@@ -13,7 +13,7 @@
 
 import "../../../../init.dart" show jlookup;
 
-/// from: com.github.dart_lang.jni_gen.simple_package.Example
+/// from: com.github.dart_lang.jnigen.simple_package.Example
 class Example extends jni.JlObject {
   Example.fromRef(ffi.Pointer<ffi.Void> ref) : super.fromRef(ref);
 
@@ -25,30 +25,30 @@
 
   static final _get_aux =
       jlookup<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function()>>(
-              "get_com_github_dart_lang_jni_gen_simple_package_Example_aux")
+              "get_com_github_dart_lang_jnigen_simple_package_Example_aux")
           .asFunction<ffi.Pointer<ffi.Void> Function()>();
 
-  /// from: static public com.github.dart_lang.jni_gen.simple_package.Example.Aux aux
+  /// from: static public com.github.dart_lang.jnigen.simple_package.Example.Aux aux
   /// The returned object must be deleted after use, by calling the `delete` method.
   static Example_Aux get aux => Example_Aux.fromRef(_get_aux());
   static final _set_aux =
       jlookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>(
-              "set_com_github_dart_lang_jni_gen_simple_package_Example_aux")
+              "set_com_github_dart_lang_jnigen_simple_package_Example_aux")
           .asFunction<void Function(ffi.Pointer<ffi.Void>)>();
 
-  /// from: static public com.github.dart_lang.jni_gen.simple_package.Example.Aux aux
+  /// from: static public com.github.dart_lang.jnigen.simple_package.Example.Aux aux
   /// The returned object must be deleted after use, by calling the `delete` method.
   static set aux(Example_Aux value) => _set_aux(value.reference);
 
   static final _get_num = jlookup<ffi.NativeFunction<ffi.Int32 Function()>>(
-          "get_com_github_dart_lang_jni_gen_simple_package_Example_num")
+          "get_com_github_dart_lang_jnigen_simple_package_Example_num")
       .asFunction<int Function()>();
 
   /// from: static public int num
   static int get num => _get_num();
   static final _set_num =
       jlookup<ffi.NativeFunction<ffi.Void Function(ffi.Int32)>>(
-              "set_com_github_dart_lang_jni_gen_simple_package_Example_num")
+              "set_com_github_dart_lang_jnigen_simple_package_Example_num")
           .asFunction<void Function(int)>();
 
   /// from: static public int num
@@ -56,7 +56,7 @@
 
   static final _ctor =
       jlookup<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function()>>(
-              "com_github_dart_lang_jni_gen_simple_package_Example_ctor")
+              "com_github_dart_lang_jnigen_simple_package_Example_ctor")
           .asFunction<ffi.Pointer<ffi.Void> Function()>();
 
   /// from: public void <init>()
@@ -64,16 +64,16 @@
 
   static final _getAux =
       jlookup<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function()>>(
-              "com_github_dart_lang_jni_gen_simple_package_Example_getAux")
+              "com_github_dart_lang_jnigen_simple_package_Example_getAux")
           .asFunction<ffi.Pointer<ffi.Void> Function()>();
 
-  /// from: static public com.github.dart_lang.jni_gen.simple_package.Example.Aux getAux()
+  /// from: static public com.github.dart_lang.jnigen.simple_package.Example.Aux getAux()
   /// The returned object must be deleted after use, by calling the `delete` method.
   static Example_Aux getAux() => Example_Aux.fromRef(_getAux());
 
   static final _addInts =
       jlookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Int32, ffi.Int32)>>(
-              "com_github_dart_lang_jni_gen_simple_package_Example_addInts")
+              "com_github_dart_lang_jnigen_simple_package_Example_addInts")
           .asFunction<int Function(int, int)>();
 
   /// from: static public int addInts(int a, int b)
@@ -82,16 +82,16 @@
   static final _getSelf = jlookup<
               ffi.NativeFunction<
                   ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>)>>(
-          "com_github_dart_lang_jni_gen_simple_package_Example_getSelf")
+          "com_github_dart_lang_jnigen_simple_package_Example_getSelf")
       .asFunction<ffi.Pointer<ffi.Void> Function(ffi.Pointer<ffi.Void>)>();
 
-  /// from: public com.github.dart_lang.jni_gen.simple_package.Example getSelf()
+  /// from: public com.github.dart_lang.jnigen.simple_package.Example getSelf()
   /// The returned object must be deleted after use, by calling the `delete` method.
   Example getSelf() => Example.fromRef(_getSelf(reference));
 
   static final _getNum =
       jlookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<ffi.Void>)>>(
-              "com_github_dart_lang_jni_gen_simple_package_Example_getNum")
+              "com_github_dart_lang_jnigen_simple_package_Example_getNum")
           .asFunction<int Function(ffi.Pointer<ffi.Void>)>();
 
   /// from: public int getNum()
@@ -100,14 +100,14 @@
   static final _setNum = jlookup<
               ffi.NativeFunction<
                   ffi.Void Function(ffi.Pointer<ffi.Void>, ffi.Int32)>>(
-          "com_github_dart_lang_jni_gen_simple_package_Example_setNum")
+          "com_github_dart_lang_jnigen_simple_package_Example_setNum")
       .asFunction<void Function(ffi.Pointer<ffi.Void>, int)>();
 
   /// from: public void setNum(int num)
   void setNum(int num) => _setNum(reference, num);
 }
 
-/// from: com.github.dart_lang.jni_gen.simple_package.Example$Aux
+/// from: com.github.dart_lang.jnigen.simple_package.Example$Aux
 class Example_Aux extends jni.JlObject {
   Example_Aux.fromRef(ffi.Pointer<ffi.Void> ref) : super.fromRef(ref);
 
@@ -115,7 +115,7 @@
           ffi.NativeFunction<
               ffi.Uint8 Function(
     ffi.Pointer<ffi.Void>,
-  )>>("get_com_github_dart_lang_jni_gen_simple_package_Example__Aux_value")
+  )>>("get_com_github_dart_lang_jnigen_simple_package_Example__Aux_value")
       .asFunction<
           int Function(
     ffi.Pointer<ffi.Void>,
@@ -126,7 +126,7 @@
   static final _set_value = jlookup<
               ffi.NativeFunction<
                   ffi.Void Function(ffi.Pointer<ffi.Void>, ffi.Uint8)>>(
-          "set_com_github_dart_lang_jni_gen_simple_package_Example__Aux_value")
+          "set_com_github_dart_lang_jnigen_simple_package_Example__Aux_value")
       .asFunction<void Function(ffi.Pointer<ffi.Void>, int)>();
 
   /// from: public boolean value
@@ -134,7 +134,7 @@
 
   static final _ctor =
       jlookup<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(ffi.Uint8)>>(
-              "com_github_dart_lang_jni_gen_simple_package_Example__Aux_ctor")
+              "com_github_dart_lang_jnigen_simple_package_Example__Aux_ctor")
           .asFunction<ffi.Pointer<ffi.Void> Function(int)>();
 
   /// from: public void <init>(boolean value)
@@ -142,7 +142,7 @@
 
   static final _getValue = jlookup<
               ffi.NativeFunction<ffi.Uint8 Function(ffi.Pointer<ffi.Void>)>>(
-          "com_github_dart_lang_jni_gen_simple_package_Example__Aux_getValue")
+          "com_github_dart_lang_jnigen_simple_package_Example__Aux_getValue")
       .asFunction<int Function(ffi.Pointer<ffi.Void>)>();
 
   /// from: public boolean getValue()
@@ -151,7 +151,7 @@
   static final _setValue = jlookup<
               ffi.NativeFunction<
                   ffi.Void Function(ffi.Pointer<ffi.Void>, ffi.Uint8)>>(
-          "com_github_dart_lang_jni_gen_simple_package_Example__Aux_setValue")
+          "com_github_dart_lang_jnigen_simple_package_Example__Aux_setValue")
       .asFunction<void Function(ffi.Pointer<ffi.Void>, int)>();
 
   /// from: public void setValue(boolean value)
diff --git a/pkgs/jni_gen/test/simple_package_test/lib/init.dart b/pkgs/jnigen/test/simple_package_test/lib/init.dart
similarity index 100%
rename from pkgs/jni_gen/test/simple_package_test/lib/init.dart
rename to pkgs/jnigen/test/simple_package_test/lib/init.dart
diff --git a/pkgs/jni_gen/test/simple_package_test/src/CMakeLists.txt b/pkgs/jnigen/test/simple_package_test/src/CMakeLists.txt
similarity index 100%
rename from pkgs/jni_gen/test/simple_package_test/src/CMakeLists.txt
rename to pkgs/jnigen/test/simple_package_test/src/CMakeLists.txt
diff --git a/pkgs/jni_gen/test/simple_package_test/src/dartjni.h b/pkgs/jnigen/test/simple_package_test/src/dartjni.h
similarity index 100%
rename from pkgs/jni_gen/test/simple_package_test/src/dartjni.h
rename to pkgs/jnigen/test/simple_package_test/src/dartjni.h
diff --git a/pkgs/jnigen/test/simple_package_test/src/simple_package.c b/pkgs/jnigen/test/simple_package_test/src/simple_package.c
new file mode 100644
index 0000000..3ab0c54
--- /dev/null
+++ b/pkgs/jnigen/test/simple_package_test/src/simple_package.c
@@ -0,0 +1,189 @@
+// Autogenerated by jnigen. DO NOT EDIT!
+
+#include <stdint.h>
+#include "jni.h"
+#include "dartjni.h"
+
+thread_local JNIEnv *jniEnv;
+struct jni_context jni;
+
+struct jni_context (*context_getter)(void);
+JNIEnv *(*env_getter)(void);
+
+void setJniGetters(struct jni_context (*cg)(void),
+        JNIEnv *(*eg)(void)) {
+    context_getter = cg;
+    env_getter = eg;
+}
+
+// com.github.dart_lang.jnigen.simple_package.Example
+jclass _c_com_github_dart_lang_jnigen_simple_package_Example = NULL;
+
+jmethodID _m_com_github_dart_lang_jnigen_simple_package_Example_ctor = NULL;
+FFI_PLUGIN_EXPORT
+jobject com_github_dart_lang_jnigen_simple_package_Example_ctor() {
+    load_env();
+    load_class_gr(&_c_com_github_dart_lang_jnigen_simple_package_Example, "com/github/dart_lang/jnigen/simple_package/Example");
+    load_method(_c_com_github_dart_lang_jnigen_simple_package_Example, &_m_com_github_dart_lang_jnigen_simple_package_Example_ctor, "<init>", "()V");
+    jobject _result = (*jniEnv)->NewObject(jniEnv, _c_com_github_dart_lang_jnigen_simple_package_Example, _m_com_github_dart_lang_jnigen_simple_package_Example_ctor);
+    return to_global_ref(_result);
+}
+
+jmethodID _m_com_github_dart_lang_jnigen_simple_package_Example_getAux = NULL;
+FFI_PLUGIN_EXPORT
+jobject com_github_dart_lang_jnigen_simple_package_Example_getAux() {
+    load_env();
+    load_class_gr(&_c_com_github_dart_lang_jnigen_simple_package_Example, "com/github/dart_lang/jnigen/simple_package/Example");
+    load_static_method(_c_com_github_dart_lang_jnigen_simple_package_Example, &_m_com_github_dart_lang_jnigen_simple_package_Example_getAux, "getAux", "()Lcom/github/dart_lang/jnigen/simple_package/Example$Aux;");
+    jobject _result = (*jniEnv)->CallStaticObjectMethod(jniEnv, _c_com_github_dart_lang_jnigen_simple_package_Example, _m_com_github_dart_lang_jnigen_simple_package_Example_getAux);
+    return to_global_ref(_result);
+}
+
+jmethodID _m_com_github_dart_lang_jnigen_simple_package_Example_addInts = NULL;
+FFI_PLUGIN_EXPORT
+int32_t com_github_dart_lang_jnigen_simple_package_Example_addInts(int32_t a, int32_t b) {
+    load_env();
+    load_class_gr(&_c_com_github_dart_lang_jnigen_simple_package_Example, "com/github/dart_lang/jnigen/simple_package/Example");
+    load_static_method(_c_com_github_dart_lang_jnigen_simple_package_Example, &_m_com_github_dart_lang_jnigen_simple_package_Example_addInts, "addInts", "(II)I");
+    int32_t _result = (*jniEnv)->CallStaticIntMethod(jniEnv, _c_com_github_dart_lang_jnigen_simple_package_Example, _m_com_github_dart_lang_jnigen_simple_package_Example_addInts, a, b);
+    return _result;
+}
+
+jmethodID _m_com_github_dart_lang_jnigen_simple_package_Example_getSelf = NULL;
+FFI_PLUGIN_EXPORT
+jobject com_github_dart_lang_jnigen_simple_package_Example_getSelf(jobject self_) {
+    load_env();
+    load_class_gr(&_c_com_github_dart_lang_jnigen_simple_package_Example, "com/github/dart_lang/jnigen/simple_package/Example");
+    load_method(_c_com_github_dart_lang_jnigen_simple_package_Example, &_m_com_github_dart_lang_jnigen_simple_package_Example_getSelf, "getSelf", "()Lcom/github/dart_lang/jnigen/simple_package/Example;");
+    jobject _result = (*jniEnv)->CallObjectMethod(jniEnv, self_, _m_com_github_dart_lang_jnigen_simple_package_Example_getSelf);
+    return to_global_ref(_result);
+}
+
+jmethodID _m_com_github_dart_lang_jnigen_simple_package_Example_getNum = NULL;
+FFI_PLUGIN_EXPORT
+int32_t com_github_dart_lang_jnigen_simple_package_Example_getNum(jobject self_) {
+    load_env();
+    load_class_gr(&_c_com_github_dart_lang_jnigen_simple_package_Example, "com/github/dart_lang/jnigen/simple_package/Example");
+    load_method(_c_com_github_dart_lang_jnigen_simple_package_Example, &_m_com_github_dart_lang_jnigen_simple_package_Example_getNum, "getNum", "()I");
+    int32_t _result = (*jniEnv)->CallIntMethod(jniEnv, self_, _m_com_github_dart_lang_jnigen_simple_package_Example_getNum);
+    return _result;
+}
+
+jmethodID _m_com_github_dart_lang_jnigen_simple_package_Example_setNum = NULL;
+FFI_PLUGIN_EXPORT
+void com_github_dart_lang_jnigen_simple_package_Example_setNum(jobject self_, int32_t num) {
+    load_env();
+    load_class_gr(&_c_com_github_dart_lang_jnigen_simple_package_Example, "com/github/dart_lang/jnigen/simple_package/Example");
+    load_method(_c_com_github_dart_lang_jnigen_simple_package_Example, &_m_com_github_dart_lang_jnigen_simple_package_Example_setNum, "setNum", "(I)V");
+    (*jniEnv)->CallVoidMethod(jniEnv, self_, _m_com_github_dart_lang_jnigen_simple_package_Example_setNum, num);
+}
+
+jfieldID _f_com_github_dart_lang_jnigen_simple_package_Example_aux = NULL;
+jobject get_com_github_dart_lang_jnigen_simple_package_Example_aux() {
+    load_env();
+    load_class_gr(&_c_com_github_dart_lang_jnigen_simple_package_Example, "com/github/dart_lang/jnigen/simple_package/Example");
+    load_static_field(_c_com_github_dart_lang_jnigen_simple_package_Example, &_f_com_github_dart_lang_jnigen_simple_package_Example_aux, "aux","Lcom/github/dart_lang/jnigen/simple_package/Example$Aux;");
+    return to_global_ref((*jniEnv)->GetStaticObjectField(jniEnv, _c_com_github_dart_lang_jnigen_simple_package_Example, _f_com_github_dart_lang_jnigen_simple_package_Example_aux));
+}
+
+void set_com_github_dart_lang_jnigen_simple_package_Example_aux(jobject value) {
+    load_env();
+    load_class_gr(&_c_com_github_dart_lang_jnigen_simple_package_Example, "com/github/dart_lang/jnigen/simple_package/Example");
+    load_static_field(_c_com_github_dart_lang_jnigen_simple_package_Example, &_f_com_github_dart_lang_jnigen_simple_package_Example_aux, "aux","Lcom/github/dart_lang/jnigen/simple_package/Example$Aux;");
+    ((*jniEnv)->SetStaticObjectField(jniEnv, _c_com_github_dart_lang_jnigen_simple_package_Example, _f_com_github_dart_lang_jnigen_simple_package_Example_aux, value));
+}
+
+
+jfieldID _f_com_github_dart_lang_jnigen_simple_package_Example_num = NULL;
+int32_t get_com_github_dart_lang_jnigen_simple_package_Example_num() {
+    load_env();
+    load_class_gr(&_c_com_github_dart_lang_jnigen_simple_package_Example, "com/github/dart_lang/jnigen/simple_package/Example");
+    load_static_field(_c_com_github_dart_lang_jnigen_simple_package_Example, &_f_com_github_dart_lang_jnigen_simple_package_Example_num, "num","I");
+    return ((*jniEnv)->GetStaticIntField(jniEnv, _c_com_github_dart_lang_jnigen_simple_package_Example, _f_com_github_dart_lang_jnigen_simple_package_Example_num));
+}
+
+void set_com_github_dart_lang_jnigen_simple_package_Example_num(int32_t value) {
+    load_env();
+    load_class_gr(&_c_com_github_dart_lang_jnigen_simple_package_Example, "com/github/dart_lang/jnigen/simple_package/Example");
+    load_static_field(_c_com_github_dart_lang_jnigen_simple_package_Example, &_f_com_github_dart_lang_jnigen_simple_package_Example_num, "num","I");
+    ((*jniEnv)->SetStaticIntField(jniEnv, _c_com_github_dart_lang_jnigen_simple_package_Example, _f_com_github_dart_lang_jnigen_simple_package_Example_num, value));
+}
+
+
+// com.github.dart_lang.jnigen.simple_package.Example$Aux
+jclass _c_com_github_dart_lang_jnigen_simple_package_Example__Aux = NULL;
+
+jmethodID _m_com_github_dart_lang_jnigen_simple_package_Example__Aux_ctor = NULL;
+FFI_PLUGIN_EXPORT
+jobject com_github_dart_lang_jnigen_simple_package_Example__Aux_ctor(uint8_t value) {
+    load_env();
+    load_class_gr(&_c_com_github_dart_lang_jnigen_simple_package_Example__Aux, "com/github/dart_lang/jnigen/simple_package/Example$Aux");
+    load_method(_c_com_github_dart_lang_jnigen_simple_package_Example__Aux, &_m_com_github_dart_lang_jnigen_simple_package_Example__Aux_ctor, "<init>", "(Z)V");
+    jobject _result = (*jniEnv)->NewObject(jniEnv, _c_com_github_dart_lang_jnigen_simple_package_Example__Aux, _m_com_github_dart_lang_jnigen_simple_package_Example__Aux_ctor, value);
+    return to_global_ref(_result);
+}
+
+jmethodID _m_com_github_dart_lang_jnigen_simple_package_Example__Aux_getValue = NULL;
+FFI_PLUGIN_EXPORT
+uint8_t com_github_dart_lang_jnigen_simple_package_Example__Aux_getValue(jobject self_) {
+    load_env();
+    load_class_gr(&_c_com_github_dart_lang_jnigen_simple_package_Example__Aux, "com/github/dart_lang/jnigen/simple_package/Example$Aux");
+    load_method(_c_com_github_dart_lang_jnigen_simple_package_Example__Aux, &_m_com_github_dart_lang_jnigen_simple_package_Example__Aux_getValue, "getValue", "()Z");
+    uint8_t _result = (*jniEnv)->CallBooleanMethod(jniEnv, self_, _m_com_github_dart_lang_jnigen_simple_package_Example__Aux_getValue);
+    return _result;
+}
+
+jmethodID _m_com_github_dart_lang_jnigen_simple_package_Example__Aux_setValue = NULL;
+FFI_PLUGIN_EXPORT
+void com_github_dart_lang_jnigen_simple_package_Example__Aux_setValue(jobject self_, uint8_t value) {
+    load_env();
+    load_class_gr(&_c_com_github_dart_lang_jnigen_simple_package_Example__Aux, "com/github/dart_lang/jnigen/simple_package/Example$Aux");
+    load_method(_c_com_github_dart_lang_jnigen_simple_package_Example__Aux, &_m_com_github_dart_lang_jnigen_simple_package_Example__Aux_setValue, "setValue", "(Z)V");
+    (*jniEnv)->CallVoidMethod(jniEnv, self_, _m_com_github_dart_lang_jnigen_simple_package_Example__Aux_setValue, value);
+}
+
+jfieldID _f_com_github_dart_lang_jnigen_simple_package_Example__Aux_value = NULL;
+uint8_t get_com_github_dart_lang_jnigen_simple_package_Example__Aux_value(jobject self_) {
+    load_env();
+    load_class_gr(&_c_com_github_dart_lang_jnigen_simple_package_Example__Aux, "com/github/dart_lang/jnigen/simple_package/Example$Aux");
+    load_field(_c_com_github_dart_lang_jnigen_simple_package_Example__Aux, &_f_com_github_dart_lang_jnigen_simple_package_Example__Aux_value, "value","Z");
+    return ((*jniEnv)->GetBooleanField(jniEnv, self_, _f_com_github_dart_lang_jnigen_simple_package_Example__Aux_value));
+}
+
+void set_com_github_dart_lang_jnigen_simple_package_Example__Aux_value(jobject self_, uint8_t value) {
+    load_env();
+    load_class_gr(&_c_com_github_dart_lang_jnigen_simple_package_Example__Aux, "com/github/dart_lang/jnigen/simple_package/Example$Aux");
+    load_field(_c_com_github_dart_lang_jnigen_simple_package_Example__Aux, &_f_com_github_dart_lang_jnigen_simple_package_Example__Aux_value, "value","Z");
+    ((*jniEnv)->SetBooleanField(jniEnv, self_, _f_com_github_dart_lang_jnigen_simple_package_Example__Aux_value, value));
+}
+
+
+// com.github.dart_lang.jnigen.pkg2.C2
+jclass _c_com_github_dart_lang_jnigen_pkg2_C2 = NULL;
+
+jmethodID _m_com_github_dart_lang_jnigen_pkg2_C2_ctor = NULL;
+FFI_PLUGIN_EXPORT
+jobject com_github_dart_lang_jnigen_pkg2_C2_ctor() {
+    load_env();
+    load_class_gr(&_c_com_github_dart_lang_jnigen_pkg2_C2, "com/github/dart_lang/jnigen/pkg2/C2");
+    load_method(_c_com_github_dart_lang_jnigen_pkg2_C2, &_m_com_github_dart_lang_jnigen_pkg2_C2_ctor, "<init>", "()V");
+    jobject _result = (*jniEnv)->NewObject(jniEnv, _c_com_github_dart_lang_jnigen_pkg2_C2, _m_com_github_dart_lang_jnigen_pkg2_C2_ctor);
+    return to_global_ref(_result);
+}
+
+jfieldID _f_com_github_dart_lang_jnigen_pkg2_C2_CONSTANT = NULL;
+int32_t get_com_github_dart_lang_jnigen_pkg2_C2_CONSTANT() {
+    load_env();
+    load_class_gr(&_c_com_github_dart_lang_jnigen_pkg2_C2, "com/github/dart_lang/jnigen/pkg2/C2");
+    load_static_field(_c_com_github_dart_lang_jnigen_pkg2_C2, &_f_com_github_dart_lang_jnigen_pkg2_C2_CONSTANT, "CONSTANT","I");
+    return ((*jniEnv)->GetStaticIntField(jniEnv, _c_com_github_dart_lang_jnigen_pkg2_C2, _f_com_github_dart_lang_jnigen_pkg2_C2_CONSTANT));
+}
+
+void set_com_github_dart_lang_jnigen_pkg2_C2_CONSTANT(int32_t value) {
+    load_env();
+    load_class_gr(&_c_com_github_dart_lang_jnigen_pkg2_C2, "com/github/dart_lang/jnigen/pkg2/C2");
+    load_static_field(_c_com_github_dart_lang_jnigen_pkg2_C2, &_f_com_github_dart_lang_jnigen_pkg2_C2_CONSTANT, "CONSTANT","I");
+    ((*jniEnv)->SetStaticIntField(jniEnv, _c_com_github_dart_lang_jnigen_pkg2_C2, _f_com_github_dart_lang_jnigen_pkg2_C2_CONSTANT, value));
+}
+
+
diff --git a/pkgs/jni_gen/test/test_util/test_util.dart b/pkgs/jnigen/test/test_util/test_util.dart
similarity index 100%
rename from pkgs/jni_gen/test/test_util/test_util.dart
rename to pkgs/jnigen/test/test_util/test_util.dart
diff --git a/pkgs/jni_gen/test/yaml_config_test.dart b/pkgs/jnigen/test/yaml_config_test.dart
similarity index 98%
rename from pkgs/jni_gen/test/yaml_config_test.dart
rename to pkgs/jnigen/test/yaml_config_test.dart
index 2f180a6..330b233 100644
--- a/pkgs/jni_gen/test/yaml_config_test.dart
+++ b/pkgs/jnigen/test/yaml_config_test.dart
@@ -21,7 +21,7 @@
   test('generate and compare bindings using YAML config', () {
     final jnigenProc = Process.runSync('dart', [
       'run',
-      'jni_gen',
+      'jnigen',
       '--config',
       config,
       '-Dc_root=$testSrc',