Email-based instant messaging for Android.
B. Petersen 91a4fe6460
update translations
3 weeks ago
.github update contribute docs 2 months ago
.tx add traditional chinese 5 months ago
assets remove unused apn database and tools 1 year ago
docs docs 2 months ago
gradle/wrapper update gradle wrapper and gradle plugin version 5 months ago
jni support sdk20-18 (android4.4-4.3, kitkat and partly jelly bean) 3 weeks ago
res update translations 3 weeks ago
src allow addition of group members' location that haven't sent their location yet while watching the map view 1 month ago
store fix minor typos 2 months ago
tools add a tool to cleanup core 1 month ago
.gitattributes Initial commit 🌱 1 year ago
.gitignore add x86_64 target 2 months ago
.gitmodules delete old submodule 2 months ago
AndroidManifest.xml adapt to ndk r20b 3 weeks ago
CHANGELOG.md bump version 1 month ago
Dockerfile Initial commit 🌱 1 year ago
LICENSE Initial commit 🌱 1 year ago
README.md update readme 3 weeks ago
build.gradle support sdk20-18 (android4.4-4.3, kitkat and partly jelly bean) 3 weeks ago
gradle.properties upgrade to androidx support libraries 1 month ago
gradlew Initial commit 🌱 1 year ago
gradlew.bat Initial commit 🌱 1 year ago
ndk-make.sh support sdk20-18 (android4.4-4.3, kitkat and partly jelly bean) 3 weeks ago
standards.md fix broken link 2 months ago

README.md

Delta Chat Android Client

This is the Android client for Delta Chat. It is available on F-Droid and the Google Play Store. The APK can also be downloaded from GitHub (only for experienced users).

For the core library and other common info, please refer to the Delta Chat Core Library.

Screenshot Chat List Screenshot Chat View

Build

When checking out deltachat-android, make sure also to check out the subproject deltachat-core-rust:

  • When using Git, you can do this initially by $ git clone --recursive https://github.com/deltachat/deltachat-android or later by git submodule update --init --recursive. If you do this in your home directory, this results in the folder ~/deltachat-android which is just fine.

Then, open ndk-make.sh in an editor and follow the instructions to set up a rust build environment. This is needed only once.

After that, call ./ndk-make.sh in the root directory to build core-rust. Afterwards run the project in Android Studio. The project requires API 25.

With chance, that's it :) - if not, read on how to set up a proper development environment.

Install Development Environment

  1. Some libs required by Android Studio may be missing on 64 bit Linux machines Source], so for Ubuntu execute $ sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386 and for Fedora execute $ sudo yum install zlib.i686 ncurses-libs.i686 bzip2-libs.i686.

  2. Download Android Studio from https://developer.android.com (android-studio-ide-...-linux.zip) and unpack the archive which contains a single folder called android-studio; move this folder e.g. to ~/android-studio.

  3. To launch Android Studio for the first time, open a terminal, navigate to ~/android-studio/bin, execute ./studio.sh and use all the standard values from the wizard.

  4. Android Studio now asks you if you want to open an existing project; choose ~/deltachat-android as created in the "Build" chapter (Android Studio starts to build the project, however, there are some steps missing before this will succeed).

  5. If components are missing, click on the corresponding error message and install eg. required SDKs and the "Build-Tools" (you should also find the option at "Tools / Android / SDK Manager / SDK Platforms"). Now the build should succeed - but the app still misses the native part.

  6. Download Android NDK from NDK Archives and extract the archive containing a single folder called android-ndk-r…; move this folder e.g. to ~/android-ndk-r….

  7. Export the folder path to your environment as ANDROID_NDK and add it to PATH. You can achieve this e.g. by adding the following lines to .bashrc export ANDROID_NDK=/home/USERNAME/android-ndk-r… export PATH=$PATH:$ANDROID_NDK.

Credits

The user interface classes are based on the Signal messenger.

License

Licensed GPLv3+, see the LICENSE file for details.

Copyright © 2017-2019 Delta Chat contributors.