Android
Appearance
KDE Software on Android
Android is currently the mobile platform regarding market share and number of provided applications. Hence, it is a platform very well suited to increase the availability and usage of KDE apps.
Contact
For questions and discussion around KDE software on Android join our Matrix channel and mailing list.
Getting Applications
Stable releases for our Android apps are available on Google Play , F-Droid and in the KDE F-Droid Release Repository.
Nightly test builds can be found in the KDE F-Droid Nightly Build Repository.
Build Environment
There are different ways to setup a build environment:
- Use a ready-to-build Docker/Podman container with KDE Craft - This is the simplest and most convenient way to setup a system. It provides a clear separation between the build system from your Linux host and the build system in the Linux container instance. Allows cross-compilation. Can build binaries for Android armv7, arm64, x86 and x86_64.
- Setup your build environment manually - This tutorial for setting up the cross-compiling environment requires considerably more time and brings the disadvantage to make no clear separation between your system and the cross-compile environment.
Building
The following examples do not apply if you use KDE Craft to build the software.
The rest of this page might contain outdated information.
Example: Building Marble
cd /opt/android
git clone kde:marble
mkdir marble/build
cd marble/build
cmake -DCMAKE_TOOLCHAIN_FILE=/PATH/TO/ECM/toolchain/Android.cmake -DECM_ADDITIONAL_FIND_ROOT_PATH=${Qt5_android} -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../export ..
make install/strip
Note:
/PATH/TO/ECM/toolchain/Android.cmake
must be replaced with the actual path to toolchain/Android.cmake, if using the docker image it probably is at /opt/android/kde/install/share/ECM/toolchain/Android.cmakemake install/strip
strips build symbols from the binaries and reduces sizes considerably
Packaging and Deployment of APKs
See ECM Android Toolchain documentation.
KDE Frameworks 5 & Third Party Libraries
KDE Frameworks 5
- supported frameworks are listed at [1]
Third Party Libraries
- libintl-lite: is required for KI18n, since BIONIC does not fully support gettext
Further References
References:
- Phabricator Project
- Extra-CMake-Modules Toolchain: API documentation
Application specific build instructions:
- Marble: build instructions
Blog posts about building for Android (careful: instructions may be outdated)
- 2015-09 - Dennis Nienhüser: Announcing Marble Maps for Android Open Beta
- 2015-04 - Péterffy Gábor: Marble is coming to Android
- 2015-01 - GCompris Devels: GCompris is now released on Android
- 2014-06 - Aleix Pol: KDE Software on Android