[Android Software Development] amarullz:
The World First ANDROID Touch and Customizable ROM Installer

Don't Forget To Donate Me:

​

Android has an advance system for installing OS and updates, unlike other mobile OS that distributed the contents of OS in static ROM image(s), Android distributing the OS and updates in a plain zip file that contains all packages files and the updater for processing the installation.

The updater split in 2 type, the binary (update-binary) and script (updater-script), while the binary was executable files, and the script was configuration script that controlling the binary executable what to install.

But this advance technology never expanded into it highest potential ability, the update-binary was simply the linux executable wrote in C that runs in root mode, and can do anything into your system, including accessing Display FrameBuffer, accessing key and touch screen, set vibrate, runs programs, parsing files, loading png(s) and zip, and also reading and writing filesystem.

Old update-binary

only support few functions

that can controlled only by updater-script for installing the files, and not even one function that allowed the installer to show interactive user interface for users to input something that can manipulating the installing process. There is some program called "yesno" that show Yes or No interface, but it wasn't even enough to create more customizable updater.

Now with AROMA Installer update-binary, all this limitation was gone, and this advance technology already expanded into the highest level of its pontential.

Read More in amarullz.com [+]​

What is AROMA Installer

"AROMA" was taken from Bahasa Indonesia (Indonesian Language) and it's mean "Smells", but also abbreviation of "Amarullz ROM Manifest". It was advance update-binary for Android that contains many features like Wizard Installation, Touch User Interface (AROMA UI), Customizable Packages, System Inspecting, Themeable, and User Interactive. All release version will had "Smell Things" codename, example in 1st version it has codename "Anggrek" which mean "Orchid".

How AROMA Installer Works

It works because Chuck Norris drive the high tech jet plane with high tech technology to be able to control your phone in remote and show you an awesome Installer in your phone.

No, Seriously, When user select the zip file to install it, the recovery will extract the update-binary and runs it with few arguments, all process and stuff was simply handled by update-binary, the recovery only show the information passed by update-binary via custom pipe. The great things is that update-binary can do anything if we can code it in C/C++, but not all people can easily playing with C/C++, and Its not effective and not fun at all to compiled it every time we need to change the process. That's why the custom script also used in AROMA Installer, it was simply edify script that used in normal updater-script but with expanded functions available.

It wasn't a simple thing to archive something like this, because the update-binary is simply the "linux executable" that doesn't even supported with dynamic links of libraries, not even supported basic drawing functions like drawrect, drawline, and don't expect it can included OpenGL in it's binary. It's runs on it's own. Even User Interface was wrote from scratch to manipulating directly into display framebuffer, user input was readed directly from raw of kernel input device, png and zip was readed with static link library, and the configuration was parsed in it's own program. It was result of one full month of developing, but you can use it in an instant learning without even need to know how to manage memory usage and pointers.

The AROMA Installer will read, parsing, and run the script commands to show it's UI's, Calculate partitions sizes, create-read and write temporary prop files, set & get variables, do simple integer comparisons and math sequences, do the if else or inline if conditions, configuring UI color scheme, configuring rom information, and many more.

Because it wasn't that simple and need a lot of time to developing it, did I worth to get some donations from my works?.