jni 0.7.2 copy "jni: ^0.7.2" to clipboard
jni: ^0.7.2 copied to clipboard

A library to access JNI from Dart and Flutter that acts as a support library for package:jnigen.

30
likes
120/ 140
pub points
89%
popularity

We analyzed this package 6 days ago, and awarded it 120 pub points (of a possible 140):

OK
Follow Dart file conventions
30 / 30trigger folding of the section

10/10 points: Provide a valid pubspec.yaml

5/5 points: Provide a valid README.md

5/5 points: Provide a valid CHANGELOG.md

10/10 points: Use an OSI-approved license

Detected license: BSD-3-Clause.

partial
Provide documentation
10 / 20trigger folding of the section

0/10 points: 20% or more of the public API has dartdoc comments

268 out of 1414 API elements (19.0 %) have documentation comments.

Providing good documentation for libraries, classes, functions, and other API elements improves code readability and helps developers find and use your API. Document at least 20% of the public API elements.

Some symbols that are missing documentation: internal_helpers_for_jnigen.$MethodInvocation, internal_helpers_for_jnigen.$MethodInvocation.args, internal_helpers_for_jnigen.$MethodInvocation.$MethodInvocation.fromAddresses, internal_helpers_for_jnigen.$MethodInvocation.$MethodInvocation.fromMessage, internal_helpers_for_jnigen.$MethodInvocation.methodDescriptor.

10/10 points: Package has an example

OK
Platform support
20 / 20trigger folding of the section

20/20 points: Supports 3 of 6 possible platforms (iOS, Android, Web, Windows, macOS, Linux)

  • ✓ Android
  • ✓ Windows
  • ✓ Linux

These platforms are not supported:

Package does not support platform `iOS`.

Because:

  • package:jni/jni.dart that declares support for platforms: Android, Windows, Linux.
Package does not support platform `macOS`.

Because:

  • package:jni/jni.dart that declares support for platforms: Android, Windows, Linux.
Package does not support platform `Web`.

Because:

  • package:jni/jni.dart that declares support for platforms: Android, Windows, Linux.
partial
Pass static analysis
40 / 50trigger folding of the section

40/50 points: code has no errors, warnings, lints, or formatting issues

Found 21 issues. Showing the first 2:

INFO: 'elementAt' is deprecated and shouldn't be used. Use operator + instead.

lib/src/jni.dart:152:17

    ╷
152 │         optsPtr.elementAt(i).ref.optionString =
    │                 ^^^^^^^^^
    ╵

To reproduce make sure you are using the lints_core and run flutter analyze lib/src/jni.dart

INFO: 'elementAt' is deprecated and shouldn't be used. Use operator + instead.

lib/src/jni.dart:157:18

    ╷
157 │                 .elementAt(count - 1 - (classPath.isNotEmpty ? 1 : 0))
    │                  ^^^^^^^^^
    ╵

To reproduce make sure you are using the lints_core and run flutter analyze lib/src/jni.dart

OK
Support up-to-date dependencies
20 / 20trigger folding of the section

10/10 points: All of the package dependencies are supported in the latest version

Package Constraint Compatible Latest
args ^2.3.1 2.4.2 2.4.2
collection ^1.0.0 1.18.0 1.18.0
ffi ^2.0.1 2.1.2 2.1.2
package_config ^2.1.0 2.1.0 2.1.0
path ^1.8.0 1.9.0 1.9.0
plugin_platform_interface ^2.0.2 2.1.8 2.1.8
Transitive dependencies
Package Constraint Compatible Latest
meta - 1.12.0 1.12.0

To reproduce run dart pub outdated --no-dev-dependencies --up-to-date --no-dependency-overrides.

10/10 points: Package supports latest stable Dart and Flutter SDKs

Analyzed with Pana 0.22.2, Flutter 3.19.1, Dart 3.3.0.

Check the analysis log for details.

30
likes
120
pub points
89%
popularity

Publisher

verified publisherlabs.dart.dev

A library to access JNI from Dart and Flutter that acts as a support library for package:jnigen.

Repository (GitHub)
View/report issues

Topics

#interop #ffi #java #kotlin #jni

Documentation

API reference

License

BSD-3-Clause (LICENSE)

Dependencies

args, collection, ffi, package_config, path, plugin_platform_interface

More

Packages that depend on jni