As tempting as it may be to shred your GameBoy to pieces to shove your phone in it, there must be preparation beforehand. First off, you must set up your phone to be able to work without a tactile screen, as all tactile response will be lost by performing this project. Android will have to be navigated using the little buttons available to you. The newer the Android version, the better, as it has more support for external devices. Anything JellyBean 4.1 or above should be just fine, but aim for KitKat 4.4 or higher to be on the safe side.

Before starting off, you must make sure your phone is rooted. Files in the system must be edited, and without root privileges, this won't be possible. My phone, the LG Optimus L3 II, came out of the box with a locked bootloader, an LG version of Android 4.1.2, and unrooted. Android phones rarely come pre-rooted and with an unlocked bootloader, but it isn't unseen. I went overkill and chose to unlock my bootloader and unofficially upgrade my Android to 4.4.4 KitKat, under the form of an unofficial port of CM11 by Caio99BR. I chose this specific firmware for various reasons: I could have gone all the way up to Android 6.0, as there are unofficial ports for this LG, but the newer the version, the more resource-intensive it is, and this phone isn't what you would call powerful. KitKat has more than enough support for external keyboards and mice, so I left it at that. What's nice about CyanogenMod custom ROMs is that they are highly customizable, have root integrated into the firmware, and you can fine-tune the system to increase performance at your will.

Of course, there is no need to modify your system as much as I did. All you really need to do is to look up how to root your phone on the Internet.

Now, you need to connect your bluetooth keyboard to your phone. DON'T take neither phone nor keyboard apart until you have succeeded in pairing the devices together and have made sure they work well together. Don't be like me (I took the keyboard apart and desoldered components off it past the point of no return). I ended up having to recreate the number keys on a breadboard to type in the pairing code which my phone required. If your phone supports USB input and you use a USB keyboard, you needn't worry about this.

Play around with controlling your phone with your keyboard and make sure you can access all the vital controls you need to operate your phone with your keyboard.

I highly recommend installing a remote desktop server on your phone as backup. You can never be too safe. I chose to install Mobizen, and I enabled screen sharing over both WiFi and USB. You can control your phone over WiFi by accessing mobizen.com, but you must install the Mobizen client on your PC if you want to control it over USB. Unfortunately, there is no PC client for Linux operating systems, but you should be fine if you use Windows or OSX. I also installed Remodroid on both my LG phone and my current phone, as it allows me to remotely control the LG from my current phone. It does have its disadvantages though. Performance with RemoDroid has been nowhere near perfect, but it works well enough to suit my needs. It's supposed to mirror the LG screen on my other phone, but if often just stays stuck. You can however use it as a remote touchscreen, which is more than enough for me.

If you plan on having WiFi connection on your GameBoy, you'll want to save all the WiFi passwords on it beforehand, as you will no longer be able to type them in once the phone's in the GameBoy, unless you use a remote desktop.

I also recommend installing all the emulator software you plan on using later on now, it will save you from the hassle of installing it without a touchscreen. You might as well start fiddling around with each emulator's settings to adapt it to your needs.

Since there will be no tactile feedback, you will also want to remove all screen locks and possible obstacles which require actions such as swiping and/or dragging.