Fcitx5 input method framework and engines ported to Android.
本仓库基于上游 fcitx5-android 修改,目标是让吴语苏沪混合腔输入方案搭配小企鹅输入法在安卓平台上向开箱即用。相对上游个主要改动:
- 内置吴语方案:Rime 插件加入
wugniu_suwu(吴语·苏沪混合腔)方案及吴语词典、OpenCC 转换表。
安装方法:从 Actions 个 Build Custom APK 运行产物中宕落 fcitx5-android-custom(本体)搭 fcitx5-plugins(Rime 插件),按设备 ABI 安装对应个 -release.apk(如 arm64-v8a),先装本体再装插件,然后在系统输入法管理中启用并添加「中州韵」。
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
- Google Play
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
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
- English (with spell check)
- Chinese
- Pinyin, Shuangpin, Wubi, Cangjie and custom tables (built-in, powered by fcitx5-chinese-addons)
- Zhuyin/Bopomofo (via Chewing Plugin)
- Jyutping (via Jyutping Plugin, powered by libime-jyutping)
- Vietnamese (via UniKey Plugin, supports Telex, VNI and VIQR)
- Japanese (via Anthy Plugin)
- Korean (via Hangul Plugin)
- Sinhala (via Sayura Plugin)
- Thai (via Thai Plugin)
- Generic (via RIME Plugin, supports importing custom schemas)
- Virtual Keyboard (layout not customizable yet)
- Expandable candidate view
- Clipboard management (plain text only)
- Theming (custom color scheme, background image and dynamic color aka monet color after Android 12)
- Popup preview on key press
- Long press popup keyboard for convenient symbol input
- Symbol and Emoji picker
- Plugin System for loading addons from other installed apk
- Floating candidates panel when using physical keyboard
- Customizable keyboard layout
- More input methods (via plugin)
| 拼音, 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)
- Android SDK Platform & Build-Tools 35.
- Android NDK (Side by side) 25 & CMake 3.22.1, they can be installed using SDK Manager in Android Studio or
sdkmanagercommand line. - KDE/extra-cmake-modules
- GNU Gettext >= 0.20 (for
msgfmtbinary; or installappstreamif you really have to use gettext <= 0.19.)
Prerequisites for Windows
-
Enable Developer Mode so that symlinks can be created without administrator privilege.
-
Enable symlink support for
git:git config --global core.symlinks true
First, clone this repository and fetch all submodules:
git clone git@github.com:fcitx5-android/fcitx5-android.git
git submodule update --init --recursiveInstall 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 PATHInstall Android SDK Platform, Android SDK Build-Tools, Android NDK and cmake via SDK Manager in Android Studio:
Detailed steps (screenshots)
Note: These screenshots are for references and the versions in them may be out of date. The current recommended versions are recorded in Versions.kt file.
-
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/prebuiltdirectory, 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_OPTIONSorJAVA_TOOL_OPTIONS. You might want to clear them (maybe in the startup scriptstudio.shof 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.











