Skip to content
This repository has been archived by the owner on Oct 21, 2024. It is now read-only.
/ cryptobox-jni Public archive

JNI bindings for cryptobox with support for cross-compilation to Android.

License

Notifications You must be signed in to change notification settings

wireapp/cryptobox-jni

Repository files navigation

Wire

This repository is part of the source code of Wire. You can find more information at wire.com or by contacting opensource@wire.com.

You can find the published source code at github.com/wireapp.

For licensing information, see the attached LICENSE file and the list of third-party licenses at wire.com/legal/licenses/.

cryptobox-jni

JNI bindings for the cryptobox with support for cross-compilation to Android.

Building

There is a Docker file that create an image to cross compile on all necessary platforms. You need to have Docker running on your machine.

Run ./docker-build.sh to start the build. It will download Android SDK and NDK, so it will take a while.

Once the script is completed, you will find the result of the compilation copied to the output/ folder.

Publishing

Locally

If Maven is installed (availble on homebrew), you can publish the aar to a your local Maven repository with the command:

mvn install:install-file \
	-Dfile="<path to aar>" \
	-DgroupId=com.wire \
	-DartifactId=cryptobox-android \
	-Dpackaging=aar \
	-Dversion=<version number>

Bintray

In order to publish the binary to Bintray, you need to install the JFrog CLI (jfrog-cli-go), configure the credentials and then run publish.sh

Sample Application

This project has a simple Android sample application that can be installed on a connected Android device or emulator:

cd android-example && make install

Look for an application named CryptoBoxExample.

Tests

Currently this project's tests run only on Android and require a connected Android device or emulator:

cd android-example && make test

The test project is located in the android-example/tests directory.

Contribute

For any problems, comments, or feedback please create an issue here on GitHub.

Licence

This project is released under the GNU General Public License v3.0.