For android native bindings, the strongest matches are bytedeco/javacpp (JavaCPP provides a robust JNI bridge and foreign function), java-native-access/jna (This library provides Java applications with foreign function interfaces) and bytedeco/javacpp-presets (JavaCPP Presets provides automatic JNI wrapper generation and type). jni-rs/jni-rs is also worth a look. Each is ranked by relevance to your query, popularity and recent activity.
Explore the best open-source Android native bindings. Compare top GitHub repositories by stars, features, and activity to find the right fit.
JavaCPP is a JNI C++ bridge and foreign function interface that provides a binding generator, a native library loader, and a native memory manager. It automates the creation of Java wrappers around native C++ headers and shared libraries to enable interoperability between the two languages. The project features a C++ binding generator that parses header files to automatically produce the necessary glue code and interfaces for calling native functions. It includes a native library loader that locates and extracts platform-specific binaries from the classpath into a local cache for runtime exec
JavaCPP provides a robust JNI bridge and foreign function interface that automatically generates C++ wrappers, handles native memory, and integrates smoothly into Java builds to enable seamless native interoperability.
JNA is a foreign function interface and native memory mapper that allows Java applications to call functions in shared native libraries without writing custom JNI wrapper code. It serves as a JNI alternative framework for invoking C functions and mapping native data structures using high-level interfaces. The library distinguishes itself through its ability to translate Java objects and primitives into C-style structs, unions, and pointers for cross-platform memory exchange. On Windows, it provides a dedicated toolkit for interacting with Component Object Model objects using both early and la
This library provides Java applications with foreign function interfaces and native memory mapping, allowing seamless C/C++ interoperability and native integration without manual JNI boilerplate.
The missing Java distribution of native C++ libraries
JavaCPP Presets provides automatic JNI wrapper generation and type mapping to easily integrate native C and C++ libraries with Java, fulfilling the core interoperability requirement of this search.
jni-rs is a Rust library providing bindings and interoperability tools for executing Java code and managing virtual machine instances. It enables native applications to interact with Java objects, access fields, and call methods directly across the language boundary. The library supports embedding and controlling a Java Virtual Machine instance directly inside a native application to load and run Java libraries or managed code. It also allows developers to define and export native methods written in Rust that can be called directly from Java applications and mobile runtimes. Critical runtime
This library provides Rust bindings to the Java Native Interface for cross-language interoperability, though it lacks higher-level automated wrapper generation and zero-copy memory features.