How do I enable a keyboard OTHER than Google Keyboard via ADB? I have got 2 keyboards in my phone: Google Keyboard and AnySoftKeyboard. Google Keyboard is my primary keyboard.
I want to enable AnySoftKeyboard as my primary keyboard via ADB (I use ADB because the 'Language and Input' subsetting crashes my Settings app for some reason). But the problem is that, although I enable it and it works while my phone is on, after a reboot it doesn't work and my primary keyboard becomes Google Keyboard again.
If I try to disable Google Keyboard so that AnySoftKeyboard has a hope of working, my System UI and Launcher crash at startup, making my phone go nuts (I can only unlock my phone and reboot it or shut it down).

HOWEVER, because of past experience with this, even if Google Keyboard were uninstalled, a user keyboard app (unlike a system keyboard app) does NOT launch at startup (even when enabled via ADB), even if I go to an app like Messenger and try to type something (note: my system doesn't behave weirdly if I uninstall Google Keyboard).

So, my question is, how do I make sure that, after a reboot, AnySoftKeyboard will BOTH be a functioning and primary keyboard app? And why does my system UI and Launcher crash when I try to do a modification to Google Keyboard other than uninstalling it?

Phone: Acer V370
Android version: 4.2.2
I managed to solve this. To make AnySoftKeyboard my main keyboard, I had to:


Turn it into to a system app (with Link2SD)
Reboot as instructed
Put the following commands via ADB:


adb shell settings put secure default_input_method com.menny.android.anysoftkeyboard/.SoftKeyboard

adb shell ime enable com.menny.android.anysoftkeyboard/.SoftKeyboard

(I put both just to be sure, but I think putting only the first command will work fine)


Uninstall Google Keyboard (with Titanium Backup)
Reboot just in case anything had yet to be sorted out


And done.

The most important part was making it a system app, because as a user app it would either:

a) not be the primary keyboard after a reboot

b) flat-out refuse to function (even if it was the only keyboard on the device).