Skip to content

savoirfairelinux/jami-client-android

Repository files navigation

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
On Arch
pacman -S cmake ninja automake swig yasm m4 patch autoconf pkgconf
On macOS:
brew install cmake automake autotools libtool pkg-config yasm swig

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 trying to locate shared libraries.

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

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