for various reasons, screen-lock will be removed completely in one of the next versions. - if screen-lock was enabled before, add a warning and keep the options (user can switch screen-lock on and off until it will be finally removed) - if screen lock was disabled before, hide the corresponding options, (the user will not be able to enable screen-lock anymore) reasons for removing are: - hard maintainability on different android versions, see discussions at https://github.com/deltachat/deltachat-android/issues/1208 and https://github.com/deltachat/deltachat-android/pull/1279 and https://github.com/deltachat/deltachat-android/pull/1319 and offline. ftr, also the used api createConfirmDeviceCredentialIntent() is deprectated, so another set of api calls would be needed in the soon future. - compared to the effort, few security is added, the function is only available if the system is protected anyway, one just have to repeat the system secret. - might even worsen overall security - if app login secret is peeked, and attacker will also have the system secret. - the functions stands in the way of moving forward to a cross-platform solution (however, not sure if this will really come)
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.
Check Out Repository
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-androidor later bygit submodule update --init --recursive. If you do this in your home directory, this results in the folder~/deltachat-androidwhich is just fine.
Build Using Dockerfile
If you only want to build an APK, the easiest way is to use
provided Dockerfile with Docker or
Podman. Podman is a drop-in replacement for Docker
that does not require root privileges. It is used in the following
example.
First, build the image deltachat-android by running
podman build . -t deltachat-android
Then, run the image:
podman run -it -v $(pwd):/home/app -w /home/app localhost/deltachat-android
Within the container, build the native library first:
root@6012dcb974fe:/home/app# ./ndk-make.sh
Then, build an APK:
root@6012dcb974fe:/home/app# ./gradlew assembleDebug
If you don't want to use Docker or Podman, proceed to the next section.
Install Build Environment
To setup build environment manually, you can read the Dockerfile
and mimic what it does.
First, you need to setup Android SDK and Android NDK. 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
-
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:i386and for Fedora execute$ sudo yum install zlib.i686 ncurses-libs.i686 bzip2-libs.i686. -
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. -
To launch Android Studio for the first time, open a terminal, navigate to
~/android-studio/bin, execute./studio.shand use all the standard values from the wizard. -
Android Studio now asks you if you want to open an existing project; choose
~/deltachat-androidas created in the "Build" chapter (Android Studio starts to build the project, however, there are some steps missing before this will succeed). -
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.
-
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…. -
Export the folder path to your environment as
ANDROID_NDKand add it toPATH. You can achieve this e.g. by adding the following lines to.bashrcexport 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 © 2020 Delta Chat contributors.

