DIDKit has bindings for various languages and environments. Each corresponding directory contains a README with additional info particular to it. The Makefile used to build all the libraries requires GNU Make.
Building and testing each library requires tools for the corresponding environment:
- C: C compiler and linker
- Java: JDK and JRE
- Android: Android NDK, SDK tools, and Rust Android targets
- Flutter: Flutter Build
To build all the libraries, run
make in the
/lib/ directory of the DIDKit repo.
To build and test a particular library, see the instructions below.
To build the C shared library for Android targets, build the DIDKit Android library.
Java bindings for DIDKit, using JNI. The JAR file includes Java class files. To use this in an application, you must also include the shared library (
libdidkit.so) in your application in your Java Library Path.
To build the shared library for your current platform/architecture:
For Android, build the separate Android library (AAR file) which includes the Java class files and shared libraries for all Android targets.
Android Library (AAR file) for DIDKit. The AAR file includes Java class files using JNI, and binary shared libraries for Android's supported architectures (x86, armeabi-v7a, arm64-v8a, x86_64). The AAR can be added to existing Android projects using Android Studio or Gradle.
Android SDK and NDK for Linux x86_64. The Android SDK is expected to be installed at
~/Android/Sdk. If it is somewhere else instead, you can specify it with a Make variable, e.g.
Rust Android targets are also required. To install those with
ANDROID_SDK_ROOT- path to Android SDK. Default:
ANDROID_TOOLS- Android tools directory. Default is to pick one matching
ANDROID_NDK_HOME- Android NDK directory. Default is
$(ANDROID_SDK_ROOT)/ndk-bundle)if exists, or one matching
Flutter plugin for the DIDKit library. Includes Dart bindings, and functionality for Android and iOS (WIP).
Flutter Doctor and CLI tools are also required.
You can depend on this plugin as a path dependency.
You will also need to build the DIDKit library for your target platforms. To do that for Android, trigger building the AAR file: