RetroShare is a decentralized, private, secure, cross-platform, communication software.
RetroShare functionalities (file sharing, chat, messages, forums, channels…) are implemented under the hood by libretroshare which offers a documented C++ and JSON API.
While RetroShare is an application on its own, libretroshare is meant to be used as part of other programs, some of them are RetroShare-gui, RetroShare-service, elRepo.io (let us know if there are more).
All public API methods are documented with Doxygen comments, so the most updated
way to read documentation is reading those comments in src/retroshare/.
To use libretroshare as part of your Android application we suggest to add our maven repository, and then specify the variant and version that fits your needs as dependency. RetroShare is then exposed as an Android Service as you can see at RetroShareServiceAndroid.java start it and then interact with it via RetroShare JSON API.
repositories {
maven {
url "https://gitlab.com/api/v4/projects/32730908/packages/maven"
}
}
dependencies {
// Look at https://gitlab.com/RetroShare/libretroshare/-/packages for
// available options.
// Minimum Android platform supported goes here ⬇
// Build variant goes here ⬇
// Version goes here ⬇
implementation "org.retroshare.service:libretroshare-MinApiLevel21-release:72f8b7e8"
}