https://github.com/savoirfairelinux/jami-client-android
Mirror of Gerrit Jami Android Client
https://github.com/savoirfairelinux/jami-client-android
Last synced: about 2 months ago
JSON representation
Mirror of Gerrit Jami Android Client
- Host: GitHub
- URL: https://github.com/savoirfairelinux/jami-client-android
- Owner: savoirfairelinux
- License: gpl-3.0
- Created: 2015-11-05T19:24:58.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2025-04-02T11:29:09.000Z (2 months ago)
- Last Synced: 2025-04-04T01:17:10.257Z (2 months ago)
- Language: Kotlin
- Homepage:
- Size: 174 MB
- Stars: 158
- Watchers: 22
- Forks: 43
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: COPYING
Awesome Lists containing this project
README
# Jami Android
The Jami client for Android
| App | CI
| :-: | :-: |
| [](https://play.google.com/store/apps/details?id=cx.ring) [](https://f-droid.org/repository/browse/?fdid=cx.ring) | [](https://jenkins.jami.net/job/client-android/)## Environment
### Submodule
Download the project including the daemon submodule with:
```sh
git clone --recursive https://review.jami.net/jami-client-android
```Or to download the daemon submodule from the existing project directory:
```sh
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](https://github.com/swig/swig).##### On Debian/Ubuntu
```sh
apt install cmake build-essential swig yasm ninja-build m4 autotools-dev autopoint libtool
```##### On Arch
```sh
pacman -S cmake ninja automake swig yasm m4 patch autoconf pkgconf
```##### On macOS:
```sh
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:```sh
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:
```sh
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.
```sh
cd jami-client-android/daemon/extras/tools
./bootstrap && make
```## Update translations
Update translations using the Transifex client (tx) :
```sh
./update-translations.sh
```## Generate new release commit
Generate a new release commit updating the version code and version string:
```sh
./update_version.py --commit
```## Report issues
Report issues on Gitlab:
https://git.jami.net/savoirfairelinux/jami-client-android