libsodium-jni - (Android) Java JNI binding to the Networking and Cryptography (NaCl) library
If you do use this project in your research project, please do cite this repo. Thanks!
- Libsodium: author Frank Denis and Contributors
- Kalium: author abstractj and Contributors
- Robosodium: author GerardSoleCa
- libstodium: author ArteMisc
- Java package is under org.libsodium.jni
- Maven coordinates are in the Sonatype OSS repository
Android Archive (AAR)
<dependency> <groupId>com.github.joshjdevl.libsodiumjni</groupId> <artifactId>libsodium-jni-aar</artifactId> <version>1.0.7</version> <type>aar</type> </dependency>
Java Archive (JAR)
<dependency> <groupId>com.github.joshjdevl.libsodiumjni</groupId> <artifactId>libsodium-jni</artifactId> <version>1.0.7</version> <type>jar</type> </dependency>
MacOS Manual Compilation and Installation
Linux Manual Compilation and Installation
To use the example app
Clone the repo and import project from folder example/Sodium in Android studio (Android studio 2.1). Android studio will handle the rest.
Compile and run. Tested to emulators down to Android Version 16.
To use the AAR project as is (No .SO file imports needed).
It is also possible to build the AAR library yourself using the provided scripts linux or mac. After building the library open module settings and add the libsodium-jni-release.aar and/or libsodium-jni-debug.aar as a dependency.
Custom code usage
To use the library with your own custom code, skip the aar file and add
- The native .SO libraries in your project (Create jnilibs folder and make the required changes to the gradle file)
- Add the source code from the src folder and add your own additional code.
The docker container is available from libsodium-jni which is a Automated Build.
Manual compilation and installation
Please refer to the docker build for the commands used to build.
Issues / Improvements / Help Seeked
libsodium-jni is currently being used in production. Feedback, bug reports and patches are always welcome.
Everything has been tested and working on ubuntu 12.04 32bit and 64 bit, macos, and Android
gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 4524D716