Jami Android
The Jami client for Android
App | CI |
---|---|
|
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 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 attempting 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