Custom Android firmware development
Override the limitations of Android apps
The Android OS provides app developers with a wide range of features. The most of the customer’s requirements can be fulfilled by the development of the mobile application. However there are certain ranges – for example, Android apps can’t be the default SMS or dialer apps, and the user interface of built-in apps couldn’t be updated.
Our company is able to override these limitations of mobile apps. If the customer needs functions beyond the abilities of ordinary Android applications, we can propose a solution by tweaking the Android OS and developing the system Android applications. These applications are included in the OS and couldn’t be deleted or updated by the device user.
Launcher or custom firmware?
The Android OS allows the developer to replace a built-in shell (Launcher) by a user’s application. The custom Android launcher can be used to solve such tasks as running Android in a single-task mode (kiosk mode) as well as limitation of the apps available to the user (“child mode”). Limitation of the user rights is a popular requirement in the development of corporate devices. Launcher can also help to extend the login mode, protect the device by a password, and to make Android device available for multiple users (administrator, limited user, and other user roles).
Nevertheless, the launcher still doesn’t have system privileges and it has its own limitations. For example, the following tasks couldn’t be done by the development of the launcher:
- update of the boot logo and animation;
- development of the app changing the system settings, for example, custom language change;
- update of the system app design to match the corporate style;
- installing the apps which couldn’t be deleted by the user;
- deleting unnecessary system apps;
- development of the custom dialer or SMS app, for example, to limit the range of numbers available for call or SMS;
- development of the automatic update services;
- tweaking of the device behavior at power-up (start the OS instead of showing the battery level).
These tasks can be done by the development (or update) of the apps having system privileges and subsequent embedding of these apps in the device firmware.
Workflow of the customized firmware development
The system apps are developed for a specific device model. Therefore we may require a sample of the device prior to the development. There are the following steps of the custom firmware development (or the firmware update development):
- selection of the tools for flashing and recovery (Samsung ODIN, MTK SP Flash Tool or others);
- rooting and installing custom recovery on the device;
- retrieving the system image and partition table;
- development of the system apps according to the customer’s requirements;
- testing of these apps by flashing them in the system Android ROM;
- development of the installer (OTA update archive flashable through the stock recovery);
- delivery of the project documentation.
The result of the work is the OTA update archive containing the firmware update and the installation manual (as a rule, the installation does not require any special skills and can be done by the customer).
Sample projects requiring custom Android firmware
Corporate device – mobile office
To turn the mobile phone into the mobile office, we developed a custom launcher which limits the applications available to the user and hides the system settings. The launcher was designed in a corporate style. According to the customer’s requirements, we updated the theme of system apps (Contacts, SMS, Dialer, Quick Settings), replaced the boot logo and animation, and developed a custom app for quick language change. Also, an auto-update service has been developed, which retrieved the updates from the customer’s website and installed the updates of the custom apps.
Green driving monitor
To monitor the driving style of truck drivers, the acceleration sensor able to determine harsh cornering, braking and acceleration has been installed in the truck. This sensor sends the info to a web server which processed the info and sent it back to the Android device in the driver’s cabin. On this device, the kiosk-mode launcher has been installed, which forced the device to be in a single-task mode. In addition, we have replaced the boot logo and animation, and the system behavior at power-up has been updated (the OS loaded at power-up instead of showing the battery charge).
Custom firmware for training machine
To use a tablet as an embedded interactive screen in a training machine, the custom Android launcher working in kiosk-mode has been used. The boot logo and animation have been replaced, and the power-up started the system instead of showing the battery charge.
GPS multimedia guide
The GPS multimedia guide CitySurf has been made of the mobile phones LG Optimus One and LG Optimus Sol. The guide determines the user’s location and tells a story about the points of interest nearby. To make a special-purpose device from a mobile phone, we’ve updated the boot logo and animation, turned off the mobile network capabilities, updated the interface of connection with the computer by USB, and improved the boot and shutdown time. The custom Android firmware was based on the open-source Android build “Cyanogenmod”.
“Can you guys help me with the custom ROM?”
In most cases, we can! To check that your task can be accomplished and to estimate the terms and costs of the firmware development project, please fill our contact form: tell us which device you’re trying to update, the Android version, and the brief description of your task. You get a free and realistic analysis of your project by our top Android experts.