Jami client for Android and Android TV devices https://jami.net/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Adrien Beraud 092968a6f1 update version to 20260925-01 (505) 1 week ago
.cqfd/docker docker: make cargo usable by any build uid 4 weeks ago
.github donate: update URL address 1 year ago
.gitlab/issue_templates use libjami 4 years ago
.tx translations: support nb_NO 7 months ago
ci ci: disable downloading screenshots 2 years ago
daemon@1c057cc216 update daemon 1 week ago
docker docker: make cargo usable by any build uid 4 weeks ago
fastlane fastlane: don't upload store-listing content on deploy 3 months ago
jami-android update version to 20260925-01 (505) 1 week ago
.cqfdrc build: update for jami-android 4 years ago
.gitignore update daemon 1 month ago
.gitmodules add daemon submodule 4 years ago
.gitreview gitreview: update repo name 5 years ago
COPYING add a COPYING file with the GPLv3 license 11 years ago
README.md ci: expose rust utilities 2 months ago
compile.sh misc: unify terminology 2 years ago
cqfd update cqfd 1 month ago
fdroidMergeRequest.sh misc: unify terminology 2 years ago
update-translations.sh i18n: update translations & configuration 11 years ago
update_version.py update_version.py: use /usr/bin/env 1 year ago

README.md

Jami Android

The Jami client for Android

App CI
Download on the Play Store Download on F-Droid Build Status

Environment

Submodule

Download the project including the daemon submodule with:

git clone --recursive https://review.jami.net/jami-client-android

Or to download the daemon submodule from the existing project directory:

git submodule update --init --recursive

Dependencies

Make sure to have autotools, autopoint, swig, yasm, m4, ninja-build and cmake available on your system.

[!WARNING]

Jami needs at least swig 4.2 to work. Else it will raise errors at compilation. See if the package is available with this version from your package manager, else you will need to install it from sources.

On Debian/Ubuntu
apt install cmake build-essential swig yasm ninja-build m4 autotools-dev autopoint libtool
On Arch
pacman -S cmake ninja automake swig yasm m4 patch autoconf pkgconf
On macOS:
brew install cmake automake autotools libtool pkg-config rustup yasm swig
"$(brew --prefix rustup)/bin/rustup" default 1.97.1

The Rust toolchain is required by the yffi collaborative-editing dependency. Its Android targets are installed automatically when the dependency is built.

When using brew on macOS, the 'libtoolize' binary might be available as 'glibtoolize'. In that case, the following command makes it avaialble to the build system:

ln -s /opt/homebrew/bin/glibtoolize /opt/homebrew/bin/libtoolize

Android SDK & NDK

Make sure to have the Android SDK and NDK available.

Build instructions

With Android Studio:

  • Add 'jami-android' in Android Studio
  • Click on build
  • Enjoy!

With the command line:

cd jami-client-android/jami-android
./gradlew assembleDebug

Troubleshoot

Jami Android doesn't use the system's pkg-config; it builds its own version with custom parameters to support cross-compilation. However, after cleaning the project, pkg-config may not be rebuilt, which could result in falling back to the system's version, leading to errors when attempting to locate shared libraries.

cd jami-client-android/daemon/extras/tools
./bootstrap && make .pkg-config

Update translations

Update translations using the Transifex client (tx) :

./update-translations.sh

Generate new release commit

Generate a new release commit updating the version code and version string:

./update_version.py --commit

Report issues

Report issues on Gitlab: https://git.jami.net/savoirfairelinux/jami-client-android