Please refer to the Android codelabs to learn how to use this library. The reference documentation is available on docs.relaycorp.tech.
Get the latest version from JitPack. We'll release it to Maven Central eventually.
Due to a bug in Android, you'll also have to exclude Bouncy Castle from Jetifier transformations by adding the following to gradle.properties
:
# Workaround for https://issuetracker.google.com/issues/159151549
android.jetifier.blacklist = bcprov-jdk15on-1.*.jar
If you use Android Lint, you may want to disable the warnings about BouncyCastle importing javax.naming
(an InvalidPackage
) by adding the following to your Lint configuration:
<?xml version="1.0" encoding="utf-8"?>
<lint>
<!-- ... -->
<issue id="InvalidPackage">
<!-- Ignore errors about BC importing javax.naming because it doesn't use it on Android -->
<ignore path="**/bcpkix-*.jar" />
</issue>
</lint>
The items below summarize the security and privacy considerations specific to this app. For a more general overview of the security considerations in Awala, please refer to RS-019.
This library exclusively communicates with the private gateway installed on the device. It does not communicate with other apps or any Internet host.
This library needs the following Android permissions:
android.permission.INTERNET
: To be able to communicate with the private gateway on 127.0.0.1:13276
. This library does not communicate with the Internet.tech.relaycorp.gateway.SYNC
: To be able to bind to the private gateway.They will be automatically added on your behalf, so you don't need to include them in your AndroidManifest.xml
.
The project requires Android Studio 4+.
We love contributions! If you haven't contributed to a Relaycorp project before, please take a minute to read our guidelines first.