Fcitx5 input method framework and engines ported to Android.
You can also download the latest CI build on our Jeninks server:
[!NOTE] APKs downloaded from GitHub Release/F-Droid/Jenkins have the same signature, which means they're compatible when upgrading, but Google Play's do not.
(click here for detailed signature info)
- Package Name:
org.fcitx.fcitx5.android- Certificate SHA-256 fingerprint:
- GitHub Release/Jenkins/F-Droid
E4:DB:1E:9E:DF:F1:36:29:D0:7D:E4:BB:F8:16:5F:E9:BD:85:57:AB:55:09:26:72:DA:8E:40:DB:E4:84:EC:D7- Google Play
06:53:6F:F6:E8:76:C0:14:E1:4B:44:6F:61:FA:2B:80:9E:06:67:39:A1:D1:17:0D:0A:7A:89:88:4C:48:00:33
In case you want Fcitx5 on other platforms: macOS, iOS, HarmonyOS, ChromeOS, Windows; or try Fcitx5 in the browser
| 拼音, Material Light theme, key border enabled | 自然码双拼, Pixel Dark theme, key border disabled |
|---|---|
| Emoji picker, Pixel Light theme, key border enabled | Symbol picker, Material Dark theme, key border disabled |
|---|---|
![]() |
![]() |
Trello kanban: https://trello.com/b/gftk6ZdV/kanban
Matrix Room: https://matrix.to/#/#fcitx5-android:mozilla.org
Discuss on Telegram: @fcitx5_android_group (@fcitx5_android originally)
sdkmanager command line.msgfmt binary; or install appstream if you really have to use gettext <= 0.19.)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 and gettext with your system package manager:
# For Arch Linux (Arch has gettext in it's base meta package)
sudo pacman -S extra-cmake-modules
# For Debian/Ubuntu
sudo apt install extra-cmake-modules gettext
# For macOS
brew install extra-cmake-modules gettext
# For Windows, install MSYS2 and execute in its shell (UCRT64)
pacman -S mingw-w64-ucrt-x86_64-extra-cmake-modules mingw-w64-ucrt-x86_64-gettext
# then add C:\msys64\ucrt64\bin to PATH
Install Android SDK Platform, Android SDK Build-Tools, Android NDK and cmake via SDK Manager in Android Studio:
Android Studio indexing takes forever to complete and cosumes a lot of memory.
Switch to "Project" view in the "Project" tool window (namely the file tree side bar), right click lib/fcitx5/src/main/cpp/prebuilt directory, then select "Mark Directory as > Excluded". You may also need to restart the IDE to interrupt ongoing indexing process.
Gradle error: "No variants found for ':app'. Check build files to ensure at least one variant exists." or "[CXX1210] /CMakeLists.txt debug|arm64-v8a : No compatible library found"
Examine if there are environment variables set such as _JAVA_OPTIONS or JAVA_TOOL_OPTIONS. You might want to clear them (maybe in the startup script studio.sh of Android Studio), as some gradle plugin treats anything in stderr as errors and aborts.
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.
| 日期 | 榜单 | 排名 | 周期新增 | 总 STAR |
|---|