Yes! You can learn to code and build software with Gitpod on Android! Gitpod is a complete dev environment running in the cloud, which turns any android phone into a powerful dev machine. I have been developing software on my phone using Gitpod for a long time! It is powerful, and I believe with Gitpod, anyone can learn to code and build software without any hurdles.
Gitpod changed my life and enabled me to continue my journey into software development. I have talked more about it here. In this guide, I have discussed how Gitpod is fully usable from an Android phone. I will be sharing how I set up Gitpod on my Android phone. If you’re curious, follow along 🚀
To get started, all you need is a browser. I use the Kiwi browser on Android. It brings you almost a full-blown desktop-like chromium experience but on mobile! That means you get chrome-devtools, extensions support, keyboard shortcuts and many more.
- There is a chromium bug with mouse cursor hover. If you face this bug, you must toggle off your installed accessibility services while using Kiwi.
- I recommend toggling off “Prefer native applications” on Kiwi from its Settings > Accessibility.
- Some shortcuts like Windows/Meta + Key, Control + Space and etc. will not work on Gitpod as Android captures them for its internal shortcuts. Unfortunately, you can not disable or remap them easily. To workaround, you will have to remap some of your conflicting IDE shortcuts from the VS Code Browser settings.
- Try pressing “Windows/Meta key” + “/” on the Kiwi browser to see all browser and Android-system shortcuts.
- My favourite shortcuts are Alt + Tab for quick application switching and Ctrl + T for quickly creating a new Kiwi tab.
- Install the Gitpod extension on Kiwi to make your life easier.
- I also use the Vimium extension on Kiwi for swiftly navigating through websites without using my mouse.
Next, you need a way to control your phone as you would with a PC. There are two easy things you can do:
- You can get a Bluetooth keyboard and mouse combo (this is the most convenient choice)
- Or you can get a USB hub for your Android device and use a wired keyboard and mouse (this is the most responsive)
I’ve gone through both routes and ended up sticking with Bluetooth devices for convenience!
As phone displays are so small, it can get tricky coding from such a small screen. There’s no easy solution for this problem if you’ve got some entry-level or mid-range Android phone like me. Nowadays, even entry-level Android devices are powerful enough to serve you well and run a complete Linux GUI environment with virtually no lag unless you’re a hardcore mobile gamer.
Note: If you got a tablet or a high-end Android phone with USB-C 3.0, you probably don’t need to care about the particular issue I will discuss in detail. You can skip it!
Cheap phones won’t likely come with USB-C 3.0, so you won’t be able to get direct VIDEO output from your phone to an external monitor/TV. Some third-party products utilize ADB, and a mini-CPU on the HDMI end to stream your Android display over a cable.
In my case, I use a Chinese HDMI adapter for my microUSB phone to connect with this external screen. You can take ”Renkchip” for reference if you want one too. But, you have to consider a few things first:
- If you’re planning to buy it to connect with a TV, ensure that its input lag isn’t more than 15ms. Otherwise, your experience will be terrible combined with the adapter input lag. You can use the incredible Rtings.com TV input lag list for reference.
- Avoid unbranded adapters if you buy online since most of those use a weak CPU for processing the VIDEO data on the HDMI end.
We can also utilize some software-based things; these can be helpful whether you’re using an external screen or not. For instance:
Press the F11 key on a Gitpod workspace to make VS CODE full screen on the Kiwi browser.
Increase the Smallest/Minimal Weight on your phone’s Developer options. It can be also referred as DPI. It will make things take less space on your tiny screen when the value is increased. Please remember that it can brick some devices when increased too much, so don’t go too far.
- You can use an app called Rotation Control to force landscape/auto-rotate mode for every app on Android (including your Home launcher!)
- I’m using a $2 phone stand, it’s called “Retractable L7 Phone Stand”, sharing the name for reference in case you want to find something similar in your local market or online. Or you can put your phone against a book as well 😆
Congratulations 🎉. Now you have set up the browser and display and connected the hardware keyboard and mouse with your Android phone. You can now code, build and learn seamlessly using Gitpod ⚡️. To get started, you can refer to the following documentation.
If you have more questions, drop by our community Discord server. We have the #mobile-and-tablets channel where fellow mobile-dev enthusiasts hang out!