fcitx5-android
An attempt to run fcitx5 on Android.
Project status
It can build, run, print to logcat, and dispatch event to JVM side. Also there is a minimal virtual keyboard.
Build
Dependencies
- Android SDK Platform & Build-Tools 30 or newer version
- Android NDK (Side by side) 23 & cmake 3.18.1, they can be installed using SDK Manager in Android Studio or
sdkmanager
command line. Note: NDK 21 & 22 are confirmed not working with this project. - KDE/extra-cmake-modules
- GNU Gettext (
msgfmt
binary)
How to set up development environment
First, clone this repository and fetch all submodules:
git clone git@github.com:fcitx5-android/fcitx5-android.git
git submodule update --init --recursive
Install extra-cmake-modules from your distribution software repository:
# For Arch
sudo pacman -S extra-cmake-modules
# For Debian/Ubuntu
sudo apt install extra-cmake-modules
Install Android SDK Platform, Android SDK Build-Tools, Android NDK and cmake via SDK Manager in Android Studio:
Additional patches
No patching needed! We can run mainline fcitx5 on Android! Yay!
Screenshots
light | dark |
---|---|
Nix
Appropriate Android SDK with NDK is available in the development shell. The gradlew
should work out-of-the-box, so you can install the app to your phone with ./gradlew installDebug
after applying the patch mentioned above. For development, you may want to install the unstable version of Android Studio, and point the project SDK path to $ANDROID_SDK_ROOT
defined in the shell. Notice that Android Studio may generate wrong local.properties
which sets the SDK location to ~/Android/SDK
(installed by SDK Manager). In such case, you need specify sdk.dir
as the project SDK in that file manually, in case Android Studio sticks to the wrong global SDK.