Enabling Swype on the AOSP keyboard
I’ve recently changed my phone to a Pixel 4, one of the reasons for this was to have as much of an open source device as possible. Naturally my operating system of choice was LineageOS 17.
With this however, the included AOSP keyboard will not support gesture inputs without a proprietary Google library. To get this working, you’ll first want to download the Pico package of Open GApps for your phone, I’m using ARM64 architecture for my Pixel 4 device however yours may be different.
Once downloaded, extract your archive:
Now move to the directory containing the library and extract that:
cd Optional tar --lzip -xf swypelibs-lib-arm64.tar.lz cd swypelibs-lib-arm64/common/lib64 ls
Here, you should now have
libjni-latinimegoogle.so. With this, you want to push this library to your phone.
Once connected via ADB (and with root access enabled in the debugging menu), do the following:
adb devices adb root adb remount adb push libjni_latinimegoogle.so /system/lib64/ adb unroot adb reboot
Once rebooted, browse to:
Settings > System > Languages & input > Virtual Keyboard > Android Keyboard (AOSP) > Gesture Typing > Enable gesture typing
One annoyance is that whenever a OTA update is pushed out to your device, it will remove this library. A helpful script (and instructions) to workaround this have been provided by rugk:
wget "https://gist.github.com/rugk/a4c9fa11c5c031faf45602d6bf922a1c/raw/eed64cea4d37f5c35cd4ced5ceb0281fef38afc9/95-latinimegoogle.sh" sed -i 's/lib\//lib64\//g' 95-latinimegoogle.sh adb root adb remount adb push 95-latinimegoogle.sh /system/addon.d/ adb shell cd /system/addon.d chmod +x 95-latinimegoogle.sh exit adb unroot adb reboot
And you should be done.
- Edit 2021-02-03: Add OTA update library preservation section.