Get to know KaiOS and all the tools and guides to tame it!
KaiOS (by Kaios Technologies) is a lightweight operating system forked from Firefox OS (by Mozilla), born to improves feature phones with simple functions making them smarter, with cutting-edge and up-to-date functionality. The simplicity and great variability of its products make it a potential alternative to smartphones, exploiting digital detoxification as one of its main objectives.
Structure and functioning of KaiOS
KaiOS is practically a single program, Firefox (37 on KaiOS 1.0 and 48 until KaiOS 2.5.2). The structure of KaiOS is the same as Firefox OS, whose lightness is based only on three levels:
Gonk, which is the lowest level and which mainly contains the linux kernel;
Gecko, which manages boot processes (b2g) and system-level permissions (such as installing applications), is sufficiently powerful and autonomous to be able to manage perfectly and safely all the authorizations necessary to make the operating system work;
Having said that we can assume that the applications we are using are nothing more than the tabs of the navigation of a normal browser. This also makes us understand that any website can become a webapp. So being able to move a website offline on your device makes it a full-fledged webapp. That's why the structure requires at least 256 MB of RAM.
Basic requirements for developing applications:
Android Debug Bridge, aka ADB, is a command line with which you can explore, perform actions and make changes to an Android or a KaiOS device. Fastboot is a diagnostic protocol primarily used to modify the flash filesystem via USB connection from the host computer.
as an alternative to WebIDE other command line tools are available:
How to use Android for KaiOS development
This discovery was born from Luxferre on September 2020, while him faced a need to be able to connect to different KaiOS devices from its Lenovo TB-X606X tablet without any "normal" PC nearby, by using a known web context vulnerability in KaiOS that allows us to manipulate Android property set directly from the browser. So, here's the guide: