7 Feb 2015

Basic android terms that every android user should be aware of

If you are new to android ecosystem or want to catch up the android developments or if you are fascinated about installing custom roms and kernels then you should definitely know some of the basic android terms before you are about to modify your smartphone.This guide gives you the basic idea about some of the basic android terms that you should actually know before  rooting your device.Lets get started!

Android is open source:

We all know android is open source but what does it actually mean?Let me explain it with an example.Suppose you got a house for rent.you cannot modify or change the interiors of the house without the permission of the actual owner.You are actually limited to change the interiors to suit you.But if you actually own the house?You have the rights to modify what ever the part you want to . Android is open sourced this actually means you will be able to modify the entire operating system from kernel level to the user interface level.The new modified operating system in general we call it a rom which you will know further reading the guide.

Okay now power on our device and see whats happening.Hold the power button for few seconds you will fell a vibration and release the button .The device boots up first with manufacture data and with a logo.Is this important to discuss?Yes,there is something going on inside when you actually power up the device.Its the not android os that turns on the device.Its bootloader which wakes the kernel and kernel puts  the hardware units to work and finally operating system loads up.


According to xda:

Bootloaders configure the device intitial known stage and has mean to select where to execute the kernel 
Bootloader is like an operating system (not to be confused with android os) which is used to load the kernel and os or recovery i.e you are making the os  to get into work often called as booting..what ever the operating system it is whether android ,ios,windows,linux, you will definitely have a bootloader to set the operating system to work.So this means bootloader is independent of the software(os) but its dependent on hardware.We see lot of chipsets in the market like snapdragon or exinos or texas instruments or mediatek  all have different bootloaders and also varies with the versions too.Remember Bootloader is hardware specific every phone will have its own bootloader and is locked by manufacturer.
You might be wondering why bootloader is locked when android is open source.Android is open source but bootloaders are not as they highly depend on the hardware.
Any modification to kernel or os requires the bootloader to be unlocked.But manufactures lock their device bootloader so that you don't run into any problems.
If you unlock bootloader you will loose warranty.Because manufactures cover only those problem which are done by them not by you.If you unlock the bootloader then you are messing up with the device its not the manufacturers fault its your actual fault so don't cover warranty.

So how to unlock bootloader?

Every phone has its own bootloader so the process of unlocking is different for different phones.If one process works for a phone it need not to work on other and never ever try to unlock the bootloader with the process specified for other device.It will brick your phone.


Kernel is a program which receives the data from the operating and transfers it to hardware(cpu,gpu,camera,speakers and all) and receives the inputs from the  hardware and sends back to os.Suppose say you are decreasing the volume  kernel takes gets the input from the buttons and it send to operating system which sends back the parameter for decreasing the volume to kernel and kernel send it to hardware.Kernel is specific to both hardware and software unlike bootloader which is only specific to hardware.
Every manufacture using android should release kernel sources so that developers can modify or create kernels for a specific device.
So each phone will have its own kernel and it varies for custom roms too.So if have a custom kernel from cyanogenmod source it will not work on stock roms. Similarly if a kernel is made for stock kernel sources then  it will not work for cyanogenmod.

What happens if i flash a kernel not meant for my device?

Flashing a kernel which is not meant for your device will definitely brick it as kernels are hardware specific.So never flash a kernel which is not meant for your device or rom.Don't even flash a cyanogenmod kernel on stock rom and vice versa as it wont boot at all.


Recovery as the name its self says recovering something .Recovery is also a individual part like kernel and bootloader.Recovery is placed in a separate memory partitions other than boot/system partitions.What does it actually do?Recovery is used to flash the updates which manufactures sends to device or to factory reset the operating system.It is of two types stock recovery and custom recovery.Stcok recovery does only two things as specified above .so if you need to flash custom rom you need a custom recovery as the stock recovery doest flash custom roms or kernels.You can flash custom roms using stock recovery only when the rom is actually signed by the manufacturer.But they dont do it all.So never flash custom roms using a stock recovery.
Recoveries too are specific to hardware .They vary for different phones.never flash a recovery which is not specified for your device.

Types of custom recoveries:

There are lots of custom recoveries available but am presenting you the mostly used recoveries
1.Clock work mod recovery often called as CWM
2.Team win recovery project often called TWRP 
3.Philz recovery(discontinued as of now) this is based on cwm

Custom roms or simply  rom:

You might have heard this word "rom" more often than above specified ones.A custom rom is basically a modified version of android operating with extra features or offering a better performance and battery  life than stock rom.
So who builds it?Anyone can build a custom rom if you have programming knowledge and can linux kernel.Custom rom can be a modified google os or the manufacturer os.It depends on what sources the  developer is using to build custom rom.Most of the developers try to build rom from the google source(aosp) we call them as aosp roms.Aosp roms are difficult to build as you have to build as you have to start every thing from scratch.There are lot of roms out there which are bult from google source code. These are some of the famous roms build from aosp:
2.Paranoid android
3.Android open kang project(aokp)
4.Mokee   rom
5.Slim roms
and lot more
Some custom roms are based on cyanogenmod sources or other aosp rom based sources.You will find lot of these roms as it  is relatively easy to build them.

Custom kernels:

Kernels which are build from manufactures source with improved performance and battery life and with lot of  new features are called custom kernels.you might be wondering what this features could be.Let me explain with a simple example.Double tap to wake or swipe to wake.Lg introduced double tap to wake feature with lg g2.This feature can also be implemented on other devices only through kernel.That is you will not find an app which can enable this feature its only kernel that actually does.
They can also be classified into two categories:
1.Stock kernels (Based on stock sources)
2.Based on sources used by cyanogenmod or other developers
Device performance and battery life depends mostly on the kernel.Its not the rom which gives you best performance and battery life but its the modifications that are built into to kernels which ultimately results in performance and battery life.

Must read:Best apps to control cpu and gpu(kernel) for android


You might have this word more other than any other basic terms.Rooting is the ability to be able to write to the roots of the system partitions.Root is the administrative profile in linux.Let me explain with an example of windows.We can have different user profiles for different users.Consider a guest profile.When ever you try to install any application it will ask for administrative rights.Those administrative in windows are called root access in android.The process of rooting a phone is different for different devices.So never try to root the device with process meant for other device.

To know more about root follow this:What s root and why you should root? 


Brick is the state of the device when it completely fails to operate for the tasks it is made for.You can actually say your device is dead when it is bricked.Brick is classified into two type
1.Soft brick
2.Hard brick
Soft brick can happen to anyone at one point of time.If you have soft bricked your device then you don't need to worry at all as  can get back it normal working state just be by restoring android backup,flashing the rom again or completely restoring it to stock.
But  hard brick will never happen if follow the developers guide properly.Developer is not responsible if you hard brick your device.Because developers tests the rom or kernel before releasing it to public.
The chances of hard bricking your device is zero if you follow the developers guide but soft brick can happen frequently.But when will you a hard brick a device?
If you flash a custom rom or kernel and even recovery which is not meant for your device then you will definitely hard brick your android device.

Read more about brick:What is brick in android?

Init.d scripts:

scripts are usually simple text documents which play an important role in android development.init.d scripts allows users to run custom scripts at boot  which can improve performance and battery life a lot which are usually possible only through custom roms.This means if your kernel supports init.d scripts then you can acually improve the device performance and battery life with custom scripts rather going by flashing a custom kernel.
usual init.d scripts looks like this.
echo pmc > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 1200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
#Smart Dimmer
echo 1 > /sys/devices/tegradc.0/smartdimmer/enable
#Fast Charge
echo 1 > /sys/devices/platform/htc_battery/fast_charge
echo 1 > /sys/android_touch/sweep2wake
Must read:how to create a init.d script.


Flashing in simple terms " installing customs roms,custom kernels,mods,scripts through recovery."

How to Flash custom rom or a kernel:

Flashing a custom rom or kernel is almost same for all android devices.Flashing a custom rom requires a unlocked bootloader and custom recovery installed.But how is it  done?
You can flash a custom rom or kernel in two ways

1.By using android debugging bridge(adb) or fastboot:

1.Download the rom(system) and kernel images
2.Put it in a proper location
3.Put the phone in fastboot mode
Type the following commands:
Fastboot flash system system.img this will flash system image
fastboot flash boot boot.img this will flash kernel(rename kernel image to boot.img)
Must read:Basic adb and fastboot commands

2.By flashing via recovery:

Flashing through recovery needs the roms and zip files to be inzip format.
1.Download the rom and kernel zip nad place them in the internal storage of the device
2.Enter recovery
4.First backup your current rom
4.wipe data/factory reset and wipe cache and dalvik cache
5.Flash rom and then flash kernel


These are the basic android terms that a user should be aware of before getting into android development.If you want to add anything to the post please let us know in the comment section below.

Basic android terms that every android user should be aware of Reviewed by Radha Krishna on 19:08 Rating: 5 If you are new to android ecosystem or want to catch up the android developments or if you are fas...

No comments: