Service သမား တစ္ေယာက္အေနနဲ႕ Andriod ႏွင့္ပတ္သက္၍ သင္ဒါေတြ သိၿပီး
ပီလာ???
ပီလာ???
Android ကိုစတင္ေလ့လာဖို႔က်ိဳးစားေနသူေတြအေနနဲ႔  အမ်ားေျပာေနၾကတဲ့Bootloader , Firmware, ADB , Stock ROMs, Custom ROMs, OS  Kernel,ClockworkMod, Flashing , Rooting , Baseband စသျဖင့္ စာလံုး  အထူးအဆန္းေတြျခည္းေတြ႔ရလို႔ ေလ့လာခ်င္စိတ္ကုန္ သြားတတ္သလို႔၊ တစ္လံုး  စီနဲ႔သူတို႔ရဲ့ သီးသန္႔ အလုပ္လုပ္ပံုကို အတိအက် မသိရင္  နာမည္သာေခၚေနေပမယ့္အႏွစ္သာရ မဲ့ေနတတ္ပါတယ္၊ တကယ္ေလ့လာလိုသူေတြအေနနဲ႔ လဲ  တစ္ခုစီရဲ့အဓီပါယ္နဲ႔ အသံုး၀င္ပံု အေသးစိတ္အလုပ္လုပ္ပံုတို႔ကို ေသခ်ာ  သိကိုသိထားရပါမယ္၊ ဒီပို႔စ္မွာ အထက္က စာလံုးေတြအေၾကာင္း  ရွင္းသြားေပးပါမယ္၊တကယ္ပညာရွင္အဆင့္ တက္လွမ္းခ်င္သူေတြအတြက္ Open Source  ျဖစ္တဲ့ Android ကမည္သူမဆို ေဒါင္းယူႏိုင္ပီး ႀကိဳက္သလို ျဖတ္ႏိုင္  ျပင္ႏိုင္ ပါတယ္၊စိတ္ႀကိဳက္ေျပာင္းႏိုင္ မိမိနဲ႔ အသင့္ေတာ္ဆံုး ျဖစ္တဲ့  Systemတစ္ခုျဖစ္သြားတဲ့ အထိ ျပဳျပင္ယူလို႔ရပါတယ္၊Bootloader  ဆိုတာဘာလဲBootloader ဆိုတာက Operation System မစတင္ခင္ အလုပ္လုပ္တဲ့  Codeအစိတ္အပိုင္းေလးကိုေခၚပါတယ္၊ Bootloader ထဲမွာ OS kernal  ကိုစတင္အလုပ္လုပ္ေအာင္ ေခၚမယ္ ညြန္ၾကားခ်က္ေတြပါပါတယ္၊ Bootloader က  InternalMemory ထဲမွာရွိတဲ့ Paratition ေတြအားလံုးက ရဲ့ ပထမဆံုး Partition  မွာတည္ရွိမွာျဖစ္ပီး အျခား Partitions ေတြအားလံုးကို သြားမယ့္ Check  Pointပါပဲ၊Bootloader ဘယ္လိုအလုပ္လုပ္တာလဲPower စဖြင့္တာနဲ႔ ROM  ထဲမွာရွိတဲ့ Boot ROM Code က စပီးအလုပ္လုပ္ပါတယ္၊ပီးရင္ Bootloader  လို႔ေခၚတဲ့ Boot Strap Firmware ကို ႏိုးမယ္၊ BootStrap Firmware ထဲမွာ MBR  and GRUB/LILO တို႔ပါ၀င္တယ္၊ Bootloaderအလုပ္စပီဆိုတာနဲ႔ init.S ဖိုင္  စအလုပ္လုပ္တယ္ ၊ အရင္ ဆံုး BSS segment ကို0  တန္ဖိုးေရာက္သြားေအာင္ရွင္းတယ္၊ ပီးရင္ main.c ဖိုင္ကို စေခၚမယ္၊  main.cဖိုင္ စ အလုပ္လုပ္တာနဲ႔ hardware အစိတ္အပိုင္းေတြျဖစ္တဲ့ clocks,  board,keypad, console တို႔ကိုစတင္ေစမယ္၊ ပီးရင္ Linux Tags ကိုဖန္တီးပီး  LinuxKernel image ကို Memory ကေန ၀င္တင္မယ္၊Botloader  ေရြးခ်ယ္မွဴBootloader က Phone မွာပါ၀င္တဲ့ အျခား မည္သည့္ software မဆိုရဲ့  အဦးဆံုးစတင္တဲ့ အတြက္ မွန္ကန္တဲ့ processor  ကိုအသံုးျပဳဖို႔အလြန္အေရးႀကီးလွပါတယ္၊ Android OS က Open Source ျဖစ္တဲ့  အတြက္ဖုန္းထုတ္လုပ္တဲ့ ကုမၼဏီေတြက သူတို႔ ထုတ္လုပ္တဲ့ ဖုန္း Hardware  နဲ႔ကိုက္ညီတဲ့ Bootloader version ကို Develop လုပ္ထားၾကပါတယ္၊  Androidဖုန္းေတြမွာပါ၀င္တဲ့ Bootloader ေတြကို အျမဲတမ္း Locked  ခ်ထားပါတယ္၊ဒီလိုလုပ္ထားတာကေတာ့ ထုတ္လုပ္တဲ့ ကုမၼဏီေတြကို  သူတို႔ထုတ္လုပ္တဲ့ဖုန္းကိုသူတို႔ထုတ္လုပ္တဲ့ OS version နဲ႔  ပဲတြဲသံုးေစခ်င္လို႔ပါ၊ Bootloader ကိုLocked လုပ္ထားရင္ Custom ROM  install လုပ္လို႔မရပါဘူး၊ ဒါေၾကာင့္ CustomROM Install လုပ္လိုရင္  Bootloader ကို အရင္ Unlock လုပ္ရပါတယ္၊Kernel ဆိုတာဘာလဲKernel ဆိုတာက  Android တစ္ခုထဲမွာသာလွ်င္ရွိတာ မဟုတ္ပဲIOS,MacOS,Window,BlackBerry's QNX  တို႔မွာလဲရွိပါတယ္၊ High LevelOperation Systems အားလံုးမွာ Kernel  တစ္ခုေတာ့ ပါ၀င္ပါတယ္၊ ခု ေျပာမွာကAndroid အေၾကာင္းဆိုေတာ့ Linux Kernel  ကိုပဲ ဦးတည္ပီးေျပာသြားပါမယ္၊Android သံုးသမွ် ပစၥည္းေတြက Linux Kernel  ကိုသံုးၾကပါတယ္၊ ဒါေပမယ့္ LinuxOperation System က သံုးတဲ့ Kernel နဲ႔ေတာ့  တထပ္တည္းမတူပါဘူး၊ AndroidKernel မွာ Android အတြက္ သီးသန္႔ Build-in code  ေတြပါေနပါတယ္၊ဒါ့ေၾကာင့္ပဲ Developers ေတြနဲ႔ hackers ေတြအတြက္ Android  Versionsအသစ္ေတြကို Android ဖုန္း အေဟာင္းေတြမွာ ထည့္သြင္းပီး အားလံုး  အဆင္ေျပေျပအလုပ္ျဖစ္ေအာင္လုပ္ဖို႔ အေတာ့ကိုေစာင့္ရပါတယ္၊ Gingerbred kernel  အတြက္သံုးတဲ့ drivers ေတြက Ice Cream Sandwichkernel အတြက္  အလုပ္လုပ္မွာမဟုတ္ပါဘူး၊ ဒီကစၥက လဲ အေရးႀကီးပါတယ္၊ Kernel ရဲ့ အဓီက အလုပ္က  Hardwareကို ထိန္းခ်ဳပ္ဖို႔ တာ၀န္ကိုယူထားလို႔ပါ၊ kernel ကိုေရးတဲ့  ကုတ္ေတြလဲတကယ့္ကိုမ်ားလွပါတယ္၊ Kernel ရဲ့ အဓီက တာ၀န္ကေတာ့ Hardware နဲ႔  Softwareတို႔ၾကားမွာ ႏွစ္ဖက္ညြန္ၾကားခ်က္ေတြကို နာလည္ေအာင္  လုပ္ကိုင္ေပးဖို႔ပါပဲ၊Software တစ္ခုက ဘယ္လို အလုပ္မ်ိဳးကိုမဆို Hardware  ကို လုပ္ေစခ်င္တဲ့အခါက်ရင္ Hardware ကို တိုက္ရိုက္ အမိန္႔မေပးပဲနဲ႔ Kernel  ကိုညြန္ၾကားခ်က္ အရင္လွမ္းပို႔ပါတယ္၊ ဒီေနရာမွာ အလုပ္ဆိုတာက  ဖုန္းကလုပ္ႏိုင္တဲ့ အလုပ္အားလံုးကိုညြန္းပါတယ္၊ ဖုန္း  Screenအလင္းေရာင္ခ်ိန္တာတို႔၊ အသံ အနိမ္း အျမင့္ ခ်ိန္တာတို႔၊ Raido  ကိုခ်ိတ္ဆက္ပီး ဖုန္းေခၚဆိုတာတို႔၊ ဖုန္း မ်က္ႏွာျပင္မွာ  ပုံဆြဲတာတို႔စသျဖင့္ အလုပ္ မွန္သမွ်ကို Software က လုပ္လိုတဲ့အခါက်ရင္  Hardwareကိုတိုက္ရိုက္ မခိုင္းပဲ Kernel ကိုလွမ္းခိုင္းလိုက္ပါတယ္၊ အဲ့ဒီ့  အခါမွာKernal က တဆင့္ Hardware ကို လုပ္မယ့္အလုပ္ကိုညြန္ၾကားပါတယ္၊  ဥပမာကၽြန္ေတာ္တို႔ ဖုန္း မ်က္ႏွာျပင္ေပၚမွာ က ကင္မရာ (Camera)  ရိုက္တဲ့ခလုပ္မွာ ခလစ္တစ္ခ်က္ႏွိပ္ပီး ဓါတ္ပံုရိုက္တယ္ဆိုပါစို႔  ၊ခလုပ္ကိုႏွီပ္လိုက္တာနဲ႔ကို software က Event  တစ္ခုကိုနားေထာင္လုိ႔ရမယ္ရတဲ့ Event ျဖစ္ေပၚတဲ့ေနရာကို driver ကတဆင့္  Kernel ကို ပို႔မယ္၊ kernelကလဲ ရလာတဲ့အခ်က္နဲ႔ ပက္သက္တဲ့ command ကို  Camera hardwareကိုလွမ္းပို႔မယ္၊ Camera Hardware က ဓါတ္ပံုကို  ရိုက္ေပးမယ္၊ ဒီလို တစ္ခုကSoftware က Input လုပ္လိုက္တာကို Kernel က ယူပီး  Output တစ္ခုအျဖစ္Hardware ကိုျပန္ေပးပါတယ္၊အကယ္၍ Kernel သာမရွိခဲ့ရင္ေတာ့  Developers ေတြက အလုပ္တစ္ခုစီအတြက္အလြန္႔အလြန္မ်ားျပားလွတဲ့ machine Code  ေတြကို ေရးပီး Hardware ကိုခိုင္းေစရမွာျဖစ္ပါတယ္၊ Kernel က ၾကားခံ  ေပးထားတဲ့အတြက္ ApplicationDevelopers ေတြအေနနဲ႔ Android System API's  ေတြကေန တစ္ဆင့္ Kernel ဆီကိုResquest ေတြအလြယ္တစ္ကူပို႔ႏိုင္ပီး Kernel နဲ႔  ခ်ိတ္ဆက္ အလုပ္လုပ္ဖို႔သာDevelop လုပ္ရမွာျဖစ္သလို Hardware Developers  ေတြကလဲ သူတို႔ Developလုပ္တဲ့ Hardware ကို Kernel နဲ႔ ဆက္သြယ္  အသံုးျပဳႏိုင္ေအာင္သာ Developလုပ္ေပးစရာလို႔ပါတယ္၊CWM ဆိုတာဘာလဲCWM  ဆိုတာကေတာ့ ClockWorkMod ကိုဆိုလိုပါတယ္၊ CWM ကို Android သံုး ဖုန္းနဲ႔  Tablet ေတြ Recovery လုပ္ဖို႔သံုးပါတယ္၊ ဒီလို CWM သံုးပီး  recoverလုပ္တာကိုပဲ CWM recovery လို႔ေခၚပါတယ္၊ CWM recovery  လုပ္ျခင္းအားျဖင့္Stock Recovery နဲ႔ မလုပ္ႏိုင္တဲ့ Data  ျပန္လည္သိုေလွာင္ျခင္း root accessရယူျခင္း အသံုးျပဳတဲ့ ဖုန္းထဲက data  ေတြကို Backup လုပ္ျခင္း Custom ROMထည့္သြင္း အသံုးျပဳျခင္း Kernel  တပ္ဆင္ျခင္း စသျဖင့္အလုပ္ေတြအမ်ားၾကီးကိုလုပ္သြားႏိုင္ပါတယ္၊ Android  အေျခခံ အဆင့္ ကိုနားမလည္ေသးသူေတြအတြက္ ClockWorkMod ကိုသံုးပီး Recovery  လုပ္ရင္ အခက္အခဲေတြ႔ႏိုင္သလို CWM recovery က အစြမ္းကိုလဲ  သေဘာေပါက္ဖို႔ခက္ခဲေနပါအံုးမယ္၊Android Devices ေတြအားလံုး recovery  console ကို ဖုန္း အတြင္းပိုင္းmemory ထဲ ထည္ပီး ကုမၼဏီေတြက  ထုတ္လုပ္ေရာင္းခ်ပါတယ္၊ recover console ကေနBoot တက္ႏိုင္ပါတယ္၊ အကယ္၍  မလိုလားအပ္တဲ့ ျပသနာေတြ တက္လာပီးဆိုရင္ကၽြန္ေတာ္တို႔ Factory Reset သံုးပီး  Recover လုပ္ႏိုင္ပါတယ္၊ ဒါမွမဟုတ္zip ဖိုင္နဲ႔ လာတဲ့ official ROM ကို  Update လုပ္ႏို္င္ပါတယ္၊ ဒီလိုအခ်က္ေလာက္သာလွ်င္လုပ္ႏိုင္တာပါ Custom  Recovery ကေတာ့ သူမတူတဲ့အလုပ္မ်ိဳးကိုလုပ္ႏုိင္ပါတယ္၊ Custom Recovery  ကေတာ့ Stock Recoveryလိုမဟုတ္ပဲ Stock Recovery  လုပ္ႏိုင္သမွ်ကိုလုပ္ႏိုင္တဲ့ အျပင္ ကိုယ္ပိုင္ Android ကို စိတ္ႀကိဳက္  ထိန္းခ်ဳပ္ ႏိုင္ေအာင္ အဆင့္ျမင့္တဲ့Options ေတြပါလာပါတယ္၊ Custom Recovery  ကို သံုးရင္ တရား၀င္ေကာ တရားမ၀င္ROMs ေတြကိုပါ Install လုပ္ႏိုင္ပါတယ္၊  အျခား Application Updateလုပ္ျခင္း Themes ေျပာင္းျခင္း Kernel  ေျပာင္းလဲျခင္း Zip ဖိုင္အသံုးျပဳျခင္း User Data အပါအ၀င္ ဖုန္း Partition  ေတြအားလံုးကိုျဖတ္ႏိုင္ျခင္း SD cards Partition ခြဲျခင္း Dalvik  Cacheမ်ားျဖတ္ပစ္ျခင္း Permission မ်ားေျပာင္းလဲခင္း resotre န႔ဲ Backup  မွာစိတ္ႀကိဳက္ အစိတ္အပိုင္းေတြကို ေရြးခ်ယ္ႏိုင္ျခင္း နဲ႔ အျခား အျခား  ေသာအလုပ္ေတြအမ်ားႀကီးကို စိတ္ႀကိဳက္လုပ္ႏိုင္ပါတယ္၊ClockWorkMod recovery  ကို Koushik Dutta က Develop လုပ္ခဲ့ပါတယ္၊ AndroidROM Manager ကို Develop  လုပ္တဲ့သူပါပဲ၊ သူ႔ရဲ့ Hacking away at Androiddevices ဆိုတဲ့ Blog နဲ႔  Twitter မွာ သူ႔ကို ရွာေတြ႔ႏိုင္ပါတယ္၊Firmware နဲ႔ ပက္သက္သမွ်Firmware  ဆိုတာက ROM (read only memory) ထဲကိုထည့္ေရးထားတဲ့ Softwareprogram  ကိုဆိုလိုပါတယ္၊ Window computerေတြမွာသံုးတဲ့ window7 installလုပ္သ  လိုပါပဲ၊ ဖုန္းအတြက္ Firmware Install  လုပ္တယ္ဆိုရင္ေတာ့Froyo,Gingerbread,HoneyCamb,ICS,Jelly Bean,Kitkat  တို႔လို AndroidVersion ေတြကို Phone မွာ Install လုပ္ျခင္းပါပဲ၊  ဖုန္းတိုင္းမွာ မတူညီတဲ့Firmware နဲ႔ installation Tool ေတြရွိပါတယ္၊  ဒါ့ေၾကာင့္ ႀကိဳက္တဲ့ဖုန္းမွာ ႀကိဳက္တဲ့ firmware ကို သံုးႏိုင္မွာေတာ့  မဟုတ္ပါဘူး၊တစ္ခုေတာ့ရွိတယ္၊ ROM ဆိုတာက မူရင္း အဓိပါယ္  Read-Only-Memoryကိုဆိုလိုပါတယ္၊ ဒီေတာ့ read only ဖတ္လို႔ပဲရမယ္  ေရးလို႔မရဘူးဆိုတဲ့သေဘာေပါ့၊ ဒါဆိုရင္ ဘယ္လိုလုပ္ပီး ROM ထဲက Firmware ကို  Updateလုပ္ႏိုင္မွာလဲလို႔ေတြးစရာပါ၊ သေဘာတရားအရ ေတာ့ ROM ထဲမွာ  Firmwareရွိတယ္ေပါ့ ၊ ေနာက္ပိုင္းမွာေတာ့ Developer ေတြက ROM ရဲ့  အျပင္မွာFirmware ကိုထည့္ေရးကုန္ၾကပါတယ္၊ ဖုန္းရဲ့ Firmware ကို ROM  လို႔လဲေခၚတယ္၊အေၾကာင္းကေတာ့ သီအိုသီသေဘာမွာ Firmware က ROM ထဲမွာရွိတယ္၊  ROM ဆိုတာ ReadOnly Menory, ေရွ႕က ထုတ္ခဲ့တဲ့ ဖုန္းေတြမွာေတာ့ Firmware က  ROMထဲမွာရွိတယ္ဆိုတာမွန္ပါတယ္၊ ဒါေပမယ့္ ယေန႔ အသံုးျပဳေနတဲ့  ဖုန္းေတြမွာေတာ့Firmware ကို ROM မထည့္ေတာ့ပါဘူး၊ Firmware ကို ဖုန္းရဲ့  internal flashmeonry ထဲမွာ ထည့္ထားတယ္၊၊ internal flash meonry က Read  Only မဟုတ္ဘူး၊ဒါ့ေၾကာင့္ firmware အသစ္တစ္ခုကို flash  လုပ္လို႔ရတာေပါ့၊Flashing ဆိုတာဘာလဲFlashing လုပ္တယ္ဆိုတာက Eloctronic  Device ျဖစ္တဲ့ Phone ထဲကို firmwareထည့္သြင္းတာကိုဆိုလိုပါတယ္၊ Flashing  လုပ္ျခင္းက ROM ထဲမွာရွိတဲ့ Dataေတြကို ျပန္ေရးျခင္းပါပဲ၊ Android ဖုန္းမွာ  Custom ROMs ကို Stock ROMsအစား Flashing လုပ္ပီးေတာ့ ဖုန္းထုတ္တဲ့  ကုမၼဏီက ထည့္သြင္းေပးလိုက္တဲ့Functions ေတြကို ေျပာင္းလဲ ပီး  ပိုမိုေကာင္းမြန္တဲ့ Unlimited၀င္ေဆာင္မွဴကို ရရွိႏိုင္ပါတယ္၊Rooting  ဆိုတာဘာလဲAndroid System ရဲ့ Hardware Layer အေပၚမွာရွိတဲ့ Linux Kernel  ကိုလိုသလို ထိန္းခ်ဳပ္လို႔ရႏိုင္မယ့္ အခြင့္အေရးရခ်င္လုိ႔ Root  accessလုပ္ၾကပါတယ္၊ ဒီအခြင့္အေရးရယူႏိုင္ျခင္းကိုပဲ Root  Accessရတယ္လို႔ေခၚပါတယ္၊ Root Access ရသြားရင္ Android File System  ကိုစိတ္ႀကိဳက္ ျပဳျပင္ႏိုင္ပါတယ္၊ Android File System ထဲမွာ အဓိက  ပါ၀င္တဲ့အလႊာ (Partitions) ၆ ခု ကိုလိုသလို အသံုးခ်ႏိုင္ရင္ Booting နဲ႔  ပက္သက္တဲ့Process ေတြအားလံုးကိုထိန္းခ်ဳပ္ႏိုင္ သလို File System ထဲက  တန္ဖိုးေတြနဲ႔ထိန္းခ်ဳပ္မွူေတြကိုလဲ လိုသလို ျပဳျပင္ႏိုင္ပါပီ၊  ဒါတင္မကပါဘူးကၽြန္ေတာ္တို႔ စိတ္ႀကိဳက္ SSH (Secure Share protocol) (သို႔)  HTTP (HyperText Transfer Protocol) DHCP (Dynamic Host Configuration  Protocol)(သို႔) DNS(Domain Name Server) နဲ႔ Proxy Servers ေတြကို  လဲအသံုးျပဳႏိုင္ပါပီ၊ Android System ရဲ့  လုပ္ေဆာင္မူေတြထဲကရပ္ခ်င္သမွ်လုပ္ေဆာင္ခ်က္ေတြကိုလဲ ရပ္ထားႏိုင္တဲ့ အျပင္  Arbitrarycommands ေတြလဲ အသံုးျပဳႏိုင္သြားပါတယ္၊ အျခားအျခား အျခား  ေသာအခ်က္ေတြအမ်ား အမ်ားႀကီးကိုလဲလုပ္ႏိုင္ပါေသးတယ္၊ ဒီအခ်က္ေတြက  Rootလုပ္ရျခင္းရဲ့ ရည္ရြယ္ခ်က္ပါ၊ ဒါကိုပဲ Rooting  လုပ္တယ္လဲေခၚပါတယ္ထုတ္လုပ္သူ ေတြက သူတို႔ရဲ့ Device ေတြကိုေရာင္းခ်တဲ့အခါ  Softwarerestrictions ေတြပါလာပါတယ္၊ ဒီလို Software Restrictions  ေတြပါလာရတဲ့အေၾကာင္း အမ်ိဳးမ်ိဳးရွိပါတယ္၊ တစ္ခ်ိဳ႕ကုမၼဏီေတြကေတာ့  သူတို႔ပစၥည္းကိုအသံုးျပဳတဲ့ သူေတြကို ကာကြယ္ေပးဖို႔ ဆိုပီး Restrictions  ထည့္ပါတယ္၊ဘယ္လို အေၾကာင္းေၾကာင့္ပဲျဖစ္ျဖစ္ ကန္႔သက္ခ်က္ေတြပါ၀င္ေနျခင္းဟာ  Androidဖုန္း (သို႔) Tablet ကို သံုးတဲ့သူ  လိုအပ္တဲ့ပံုစံအတိုင္းေျပာင္းလဲဖို႔ႀကိဳးစားတဲ့ အခါ မ်ိဳး (သို႔)  အဆင့္ျမင့္တဲ့ျပင္ဆင္မွဴျပဳလုပ္ျခင္းမ်ိဳး ျပဳလုပ္တဲ့အခါမ်ိဳးမွာ  ကာစီေနတတ္ပါတယ္၊ ဒီလိုအကာ အစီးကို ေက်ာ္ျဖတ္ပီး  စိတ္ႀကိဳက္ထိန္းခ်ဳပ္ႏိုင္ေအာင္ Root accessရဖို႔ႀကိဳးစားၾကပါတယ္၊Rooting  လုပ္ျခင္းက Android သံုး ပစၥည္းထုတ္လုပ္တဲ့ကုမၼဏီေတြကကန္႔သတ္ထားတဲ့  ကန္႔သက္ခ်က္ေတြကို ခ်ိဳးျဖတ္ပီး software ကို  အကန္႔အသက္မရွိအသံုးျပဳျခင္းပါပဲ၊ ဒီလို Rooting လုပ္ျခင္းအားျဖင့္  ကၽြန္ေတာ္တို႔ကိုကန္႔သက္ထားတဲ့ Android ပစၥည္း ရဲ့ အစိတ္အပိုင္းမွာ  ေရးခ်င္တာေရးႏိုင္သလိုျပဳျပင္လိုသမွ်ကို ျပဳျပင္သြားႏိုင္ပါတယ္၊Custom ROM  နဲ႔ Stock ROM တို႔ ဘာကြာလဲStock ROM နဲ႔ Custom ROM  ဆိုပီးႏွစ္မ်ိဳးရွိမယ္၊ Stock ROM ကဖုန္း၀ယ္တုန္းက ပါလာတဲ့ Phone Operation  System. Stock ROM မွာ SoftwareRestriction ေတြထည့္သြင္းထားတဲ့ အတြက္  စိတ္ႀကိဳက္အသံုးျပဳခြင့္ မရတဲ့Operation System ျဖစ္ေနပါတယ္၊ Custom ROM  ဆိုတာကေတာ့ OS Versionတစ္ခုပါပဲ၊ Custom ROM ထဲမွာလဲ Stock ROM ေတြလိုပဲ  Android Deviceတစ္ခုလံုးကို အလုပ္လုပ္ေစတဲ့ Kernel ပါတယ္၊System  Applications ေတြပါမယ္၊Services ေတြပါမယ္၊ တစ္ခုပဲကြဲသြားတာက  စိတ္ႀကိဳက္တည္ေဆာက္ထားတဲ့ ROMျဖစ္ျခင္းနဲ႔ Software Restriction  ေတြမပါျခင္းပါပဲ၊ ဒီေတာ့ Customဆိုတဲ့စကားလံုးက ကဘာကိုရည္ညြန္းလဲ၊ Android က  Open Source ျဖစ္တဲ့ အတြက္Developers ေတြက Stock ROMS ေတြ  အခမဲ့ယူလို႔ရတယ္၊ ပီးရင္ စိတ္ႀကိဳက္ျပဳျပင္လို႔ရတယ္ ဖ်က္ပစ္လိုရာ  ျဖတ္ထုတ္ႏိုင္တယ္၊ထပ္ထည့္လိုတာထပ္ထည့္ႏိုင္တယ္၊ အရည္အခ်င္းရွိရင္ ရွိသေလာက္  စိတ္ၾကိဳက္ျပဳျပင္ေျပာင္းလဲပီး စိတ္ၾကိဳက္ ROM ကို တည္ေဆာက္ယူႏိုင္တယ္၊  ဒီလိုစိတ္ႀကိဳက္တည္ေဆာက္ထားတဲ့ ROM ကိုပဲ Custom ROM လို႔ေခၚတာပါ၊ADB  ဆိုတာဘာလဲADB ရဲ့ မူရင္းစာလံုးကေတာ့ Android Debug Bridge ပါ၊ သူ  နာမည္အတိုင္းပါပဲသူက ဖုန္းကို ျပဳျပင္ဖို႔ အတြက္ ကြန္ျပဴတာနဲ႔  ဖုန္းၾကားခ်ိတ္ဆက္ ႏိုင္တဲ့တံတားတစ္စင္းပါ၊ Android Phone က Linux Kernel  ကို အေျခခံထားပါတယ္၊ ဒီေတာ့computer adb server ကိုအသံုးျပဳျပီး  ကြန္ျပဴတာကေန ဖုန္း ရဲ့ adb Clientကို Linux commands  ေတြလွမ္းပို႔ႏိုင္ပါတယ္၊ ဒီလိုလုပ္ပီး commands  ေတြကိုအလုပ္လုပ္ေစႏိုင္ပါတယ္၊ ဖုန္း အလုပ္လုပ္ပံုေတြမမွန္ေတာ့တဲ့  အခါမ်ိဳးမွာဒီနည္းက ေတာ့ အမွားရွာပီး ျပင္ဆင္ဖို႔ တကယ့္ကို  အသံုး၀င္တဲ့နည္းပါ၊ဒီနည္းအတိုင္း ADB Server ျဖစ္တဲ့ Computer ကေန ADB  Client ျဖစ္တဲ့ဖုန္းကို Linux Commands ေတြပို႔ပီး အလုပ္မလုပ္ဖူးေသးရင္ေတာ့  မိတ္ေဆြ ADBရဲ့ အသံုး၀င္ မွူကိုခံစားဖူးအံုး မွာ မဟုတ္ေသးပါဘူး၊Baseband  ဆိုတာဘာလဲBaseband ဆိုတာကေတာ့ ဖုန္းေတြမွာသံုးတဲ့ Raido ကိုဆိုလိုပါတယ္၊  ဖုန္းVersion နဲ႔ ထုတ္လုပ္တဲ့ ကုမၼဏီ အလိုက္ Raido Version  ေတြလဲကြာပါတယ္၊Raido File ေတြကို Recovery tools ေတြကေန Flash  လုပ္ႏိုင္သလို ADB/ODINတို႔ကလဲ Flash လုပ္ႏိုင္ပါတယ္၊ Raido (သို႔) Modem  နဲ႔ ROM Version တို႔ကိုက္ညီမွဴမရွိရင္ ေတာ့ MMS, 3G data, VM နဲ႔ Network  ျပသနာတတ္ႏိုင္ပါတယ္၊ ဒါေၾကာင့္ အသံုးျပဳ ေနတဲ့ ROM နဲ႔ ကိုက္ညီတဲ့ Radio  (သို႔)Modem ကို ေရြးခ်ယ္ႏိုင္ဖို႔လိုသလို ဖုန္းနဲ႔ ကိုက္ညီတဲ့ network  နဲ႔bandwidth တို႔ကိုလဲ ေရြးခ်ယ္ႏိုင္ဖို႔လိုအပ္ပါတယ္၊Raido Firmware က  Network ခ်ိတ္ဆက္ ဆက္သြယ္ေရးအတြက္ low-level functionsေတြကိုသံုးပီး Wi-Fi  နဲ႔ GPS တို႔ ခ်ိတ္ဆက္အသံုးျပဳႏိုင္ေစပါတယ္၊ အကယ္၍ဆက္သြယ္ေရး နဲ႔ ပက္သက္တဲ့  ျပသနာမ်ိဳး Android Device မွာေတြ႔ၾကံဳေနရပီဆိုရင္ေတာ့ Radio Firmware ကို  Update လုပ္ဖို႔လိုပါပီ၊Radio Firmware ကို Update လုပ္ျခင္းက Range နဲ႔  လုပ္ေဆာင္မွဴေတြကိုပိုမိုေကာင္းမြန္လာ မွာ ျဖစ္သလို Bettery  အသံုးျပဳမွဴကိုလဲေရွာ့ခ်ေပးႏိုင္ပါတယ္၊ဖုန္းထဲမွာ Baseband Radio Processor  Chipsets ေတြပါ၀င္ပါတယ္၊ ဒီ Chipsetsေတြကို ထိန္းခ်ဳပ္ဖို႔အတြက္ Software  မ်ိဳးစံုကိုလဲ ဖုန္းထုတ္လုပ္တဲ့ကုမၼဏီေတြက Develop လုပ္ၾကပါတယ္၊။။