-
Notifications
You must be signed in to change notification settings - Fork 4
Installation
Grab a signed APK from the releases page and install it like any other app. Building it yourself works too, and takes a few minutes if you already have the Android SDK. WM Keyboard isn't on Google Play or F-Droid yet.
Every release ships eight APKs on the GitHub releases page: Full and Lite, each in four builds. Pick by CPU architecture.
-
Open the latest release on GitHub.
-
Pick your edition. Full carries every feature. Lite is much smaller. See Choosing an edition below.
-
Pick your CPU architecture. Almost every phone made since 2017 is
arm64-v8a. Older or budget devices arearmeabi-v7a. Emulators and a few tablets arex86_64. TheuniversalAPK holds all three and works anywhere, at several times the download size. -
Download the APK to your device.
-
Optional: verify the download against
SHA256SUMS.txtfrom the same release. Runsha256sum <file>on a computer, or use a checksum app on the phone. Compare the result to the line for your file. -
Open the APK to install it.
Download sizes for the 0.3.0 release:
arm64-v8a |
63.2 MB | 8.25 MB |
armeabi-v7a |
33.0 MB | 8.25 MB |
x86_64 |
72.3 MB | 8.27 MB |
universal |
176.6 MB | 8.52 MB |
These are the sizes GitHub shows on the release page, so they match what you see before you tap download.
-
Install a JDK 17 or newer, and the Android SDK. The dictionary-compiler build tool pins its own JDK 17 toolchain. Foojay provisions that toolchain for you if you do not already have one.
-
Clone the repository. From the repository root, run one of these commands:
./gradlew assembleFullDebug # every feature
./gradlew assembleLiteDebug # smaller download, fewer toolsFor a release build, replace Debug with Release. A release build needs your own signing keystore. Without one the APK comes out unsigned, and Android refuses to install it. The debug builds above are signed with the local debug key and install fine on your own device.
-
Find the APK under
app/build/outputs/apk/full/debug/(orlite/debug/). -
Copy the APK to your device and install it.
The build produces one APK per CPU architecture only when wmkb.splitApks is on, which is how the release APKs above are made. With the flag off, a release build packs all three architectures into one APK, and a debug build carries arm64-v8a alone. See Building from source for the full set of build flags.
Both editions are the same keyboard. Same layouts, same prediction, same themes, same tools. What differs is which on-device intelligence ships in the box:
| Handwriting, OCR text scan, QR/barcode scanner, document scanner | Included | Not included |
| Grammar check (Harper) | Included | Not included |
| Offline Whisper voice dictation | Included | Not included |
| On-device local LLM | Included | Not included |
Lite leaves out the ML Kit and Harper native libraries those features need, so its APK is far smaller: 8.25 MB against 63.2 MB for Full on arm64-v8a. Exact numbers shift as dependencies update. Pick Lite if you're short on storage, or if you don't need handwriting, scanning, grammar checking, offline voice or the local LLM. It gets you everything else for a fraction of the download.
See Full vs Lite for the complete feature comparison and how to tell which edition you're already running.
Android blocks installs from outside the Play Store by default. The first time you open the APK, Android shows an "install unknown apps" prompt. Grant the permission to whichever app you opened the file with (Files, a browser download, and so on), then continue. This is standard Android behavior, not anything WM Keyboard adds.
Opening the app for the first time drops you straight into a short setup wizard rather than a home screen. See Enable the keyboard for what each step does. Once you finish the wizard, it won't run again on later launches.
Installing a new build over an existing install (same package, same signing key) works like any Android app update. Your settings, themes, learned words, snippets and everything else stay exactly as they were, automatically.
Reinstalling from scratch or moving to a new phone is different. Nothing carries over on its own unless you set one of these up beforehand.
Data / Backup & restore
Export your configuration to a file, keep the file or move it to another device, then import it after reinstalling. You choose what each export includes. The defaults are:
| Included by default | Off by default |
|---|---|
| Settings, themes, snippets, custom word lists, addon repository list, emoji history, typing statistics | API keys inside settings, stickers, icons, learned dictionary, clipboard history |
Import always shows a confirmation before it writes anything, so restoring isn't something you discover after the fact.
Privacy / Android backup / Back up with Android
This separate toggle is off by default. It opts the keyboard into Android's own backup and phone-to-phone transfer system, which is independent of the manual export above. Leave it off and Android carries no WM Keyboard data across a device switch on its own. Turn it on and Android's platform-level backup includes this app the next time it runs.
- Android 7.0 (API 24) or newer is the floor the app is built against. It targets Android 16 (API 36).
-
Supported CPU architectures:
arm64-v8a,armeabi-v7a, andx86_64. Generic 32-bitx86is not supported. Only the 64-bitx86_64is. - Camera, microphone and sensor access are all optional. Every hardware-backed tool (camera scanner, voice dictation, compass) declares the hardware feature it needs as non-required in the manifest. Missing hardware disables that one tool instead of blocking the install.
- The release APKs, and a build you make yourself with the default flags, both carry a GitHub-releases updater. It checks this project's releases in the background and shows an "Update available" card on the Home screen. It downloads the APK itself and asks you to confirm before installing. Only a build made for the Play Store channel skips it, and that isn't a channel you can install from yet.
- Installing over a release APK works only if both were signed with the same key. A release APK replaces an earlier release APK cleanly. It will not install over a build you made yourself, and vice versa. Uninstall first, and export a backup before you do.
- Build release APKs on more than one machine without sharing a signing keystore and they carry different signatures. Android then refuses to install one over the other. You have to uninstall first, which loses your data unless you exported a backup.
- The Backup & restore export has a separate "include API keys" switch, off by default. It covers the translate, GIF, search and AI tool keys you may have entered. An export made with it on is worth treating like a password, because anyone holding the file gets those keys.
- Some data is cheap to fetch again: downloaded (not custom) dictionaries, emoji keyword packs, Whisper and LLM model weights, and cached camera captures. Both the manual backup and Android's own backup leave all of it out, because re-downloading beats restoring.
- Home
- Getting started
- Typing
- Languages
- Suggestions & correction
- Emoji & expression
-
Tools
- Clipboard manager
- Voice typing
- Offline voice (Whisper)
- Handwriting
- Scanner (OCR, QR, documents)
- Camera tool
- Translate
- Search, Wikipedia & dictionary
- Media controls
- AI chat
- AI tools
- Utility tools
- Snippets & text expansion
- Text editing & cursor tools
- Instruments
- Trackpad
- Calendar
- App launcher
- Learn from text
- Vocabulary
- Resize the keyboard
- The toolbar
- Themes & appearance
- Addons
- Plugins
- Privacy & security
- Accessibility
-
Reference
- Gesture cheat sheet
- Typing
- Hardware shortcuts
- Deep links & launcher shortcuts
- Key press
- File formats
- Dictionaries & words
- Importing from other keyboards
- Languages
- Importing from Espanso
- Appearance
- Keyboard themes
- Troubleshooting
- Glossary
- Keyboard font
- Easter eggs
- Icons
- Layout & size
- Key layouts
- Rows & bars
- Keyboard modes
- Emoji
- Phone number formats
- Tools
- Addons & plugins
- Reference - Accessibility
- Fingerprint lock
- Reference - Data saver
- Reference - Permissions
- Privacy
- Reference - Selection actions
- Servers
- Reference - Backup & restore
- About & diagnostics
- Statistics
- Settings A–Z
- Development