Bridging Between
Technically and Asthetically.

Products & Portofolio

 
on xda

AROMA Installer

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.
 

What is AROMA Installer

AROMA is ARt Of eMbedded Architecture.
 
I'll taken this word from common Indonesian Language, synonim of wangi, or smells or fragerence in english. Yes the root of this word is from Greek, but the main reason is this program functionality.
 
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

How can it works in recovery mode, and how can it so smooth in scrolling?It works because I hire Chuck Norris to force the recovery to runs the installer, and the phone is too afraid to show the lags scroll while it see him force the recovery to do what he ask.
 
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?.
Products & Portofolio
  • AROMA Installer
Other Pages
Submit your Comment
blog comments powered by Disqus
amarullz.com - Bridging Between Technically and Asthetically. Stay Up to Date :
About Us
Articles
Galleries
Videos
© 2012 amarullz.com - All Rights Reserved. Design by amarullz.com