Unlocking အသံုးျပဳနည္းစတဲ့အေၾကာင္းအရာမ်ားကိုေရးသားထားပါတယ္... လိုခ်င္သူမ်ားေအာက္မွာေဒါင္းပါေနာ္....
Featured 1
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat Readmore...
Featured 2
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat Readmore..
Featured 4
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat Readmore...
Featured 4
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat Readmore...
Featured 5
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat Readmore...
i devices မ်ားအတြက္ လက္ေတြ႕သံုးနည္းပညာ
Unlocking အသံုးျပဳနည္းစတဲ့အေၾကာင္းအရာမ်ားကိုေရးသားထားပါတယ္... လိုခ်င္သူမ်ားေအာက္မွာေဒါင္းပါေနာ္....
Android ဖုုန္းအလႊာခြဲၾကည့္ျခင္း
Hardware အလႊာ
အထက္က ပံုရဲ့ ျမားျပထားတဲ့ အစိတ္အပိုင္းကေတာ့ ဖုန္း Hardwares ေတြကိုေဖာ္ညြန္းထားပါတယ္၊ အတိအက်တူညီမွာမဟုတ္ေပးမယ့္ နားလည္လြယ္ေအာင္ ဆြဲထားေပးတာပါ၊ Hardware အပိုင္းထဲမွာ ဖုန္း မ်က္ႏွာျပင္၊ အသံအနိမ့္အျမင့္ Button, Camera, CPU စသျဖင့္ ထိေတြ႔ကိုင္တြယ္လို႔ရတဲ့ ပစၥည္းေတြအားလံုးပါပါမယ္၊ ဒီလို Hardware ပိုင္းဆိုင္ရာ ေရြးခ်ယ္ တည္ေဆာက္မွူ က ကုမၼဏီတစ္ခုနဲ႔ တစ္ခု မတူပါဘူး၊ ဒီလိုဘဲ ဖုန္းတစ္လံုးထဲမွာေတာင္ အသံုးျပဳတဲ့ Hardware ေတြတစ္ခုနဲ႔ တစ္ခု ထုတ္လုပ္တဲ့ ကုမၼဏီ မတူပါဘူး၊ ဥပမာ CPU မွာ Exynos သံုးတဲ့ ဖုန္းရွိသလို Snapdragon သံုးတဲ့ဖုန္းလဲရွိပါတယ္၊ Radios အတြက္ CDMA သံုးတဲ့ဖုန္း GSM သံုးတဲ့ ဖုန္း LTE သံုးတဲ့ဖုန္း ႏွစ္ခုတြဲသံုးတဲ့ဖုန္း ဆိုပီးရွိပါတယ္၊
Libraries
အကယ္၍ မိတ္ေဆြ Application တစ္ခုေရးခ်င္တယ္၊ ေရးတဲ့ Application က camera အသံုးျပဳျပီး ဓါတ္ပံုရိုက္ႏိုင္တဲ့ Application ျဖစ္မယ္၊ ဓါတ္ပံု ရိုက္မယ့္ Application ျဖစ္တဲ့ အတြက္ LED Flash ကို ဖြင့္ႏိုင္တဲ့ Function တစ္ခုပါေအာင္ေရးရမယ္၊ ေရးတဲ့ အခါလဲ Hardware ျဖစ္တဲ့ Camera component နားလည္ေအာင္ machine code နဲ႔ ေရးရမယ္၊ ေရးပီးပီပဲထားပါေတာ့၊ အားလံုးလဲ အဆင္ေျပေျပအလုပ္လုပ္ေနပီပဲထားပါေတာ့၊ ျပသနာ တစ္ခုက မိတ္ေဆြေရးတဲ့ Application မွာ camera သံုးပီး ဓါတ္ပံုရိုက္နိုင္တဲ့ Function ပါသလို သူမ်ားေတြေရးထားတဲ့ Application ေတြမွာလဲ Camera သံုးတဲ့ Function ေတြပါလာႏိုင္ပါတယ္၊ ဒီလို Camera သံုးတဲ့ Application 5 ခုရွိတယ္ဆိုရင္ machine code လဲ ငါးခုစာရွိေနမယ္၊ ဒီေတာ့ camera ဖြင့္တယ္ ဆိုတဲ့ အလုပ္တစ္ခုထဲ အတြက္ ကုတ္က ငါးခုစာရွိေနမယ္ဆိုတဲ့ သေဘာေပါ့၊ ဒီကုတ္ေတြမ်ားတာက applications ေတြ အလုပ္လုပ္တဲ့ အခါ မွာ အရမ္းကိုေႏွး သြားေစပါတယ္၊
အထက္ကလို ရည္ရြယ္ခ်က္တူညီ လုပ္ရပ္တူညီတဲ့ အလုပ္တစ္ခုကို လုပ္တဲ့ Application တစ္ခုစီက machine code တစ္မ်ိဳးစီေရးတဲ့ ျပသနာကို ေျဖရွင္းဖို႔ အတြက္ Android မွာ Libraries ေတြပါလာပါတယ္၊ Libraries ေတြထဲမွာ Android Action တစ္ခုစီတိုင္း Intent တစ္ခုစီတိုင္း အတြက္ machine code ေတြ ႀကိဳေရးထားပါတယ္၊ သေဘာက Application Developer ေတြက Camera Application တစ္ခုကိုေရးခ်င္တယ္ဆိုရင္ Camera Hardware ကို အလုပ္ခိုင္းဖို႔ machine code ေတြကို သီးသန္႔ေရးေနစရာ မလိုေတာ့ပဲနဲ႔ Library ထဲမွာရွိတဲ့ သက္ဆိုင္တဲ့ Camera အတြက္ Machine code ကို ေခၚလိုက္ရံုပဲလိုေတာ့တယ္၊ ဒီလို Library ထဲမွာရွိပီးသား Machine Code ကိုေခၚသံုးႏိုင္ပီျဖစ္တဲ့ အတြက္ အတြက္ Camera သံုးတဲ့ Applications ေတြအားလံုးက Library ထဲက ရွိပီးသား Machine Code ကိုပဲ ေခၚသံုးရံု မွ်သံုးရံုပဲ၊ တစ္ခု အတြက္ သီးသန္႔ တစ္ခါျပန္ေရးစရာမလိုေတာ့ဘူး၊ သံုးခ်င္ရင္ ေခၚသံုးတတ္ဖို႔ပဲလိုတယ္၊ ေခၚသံုးဖို႔က Java မွာ Class ေတြအမ်ား အမ်ား ႀကီးရွိတယ္၊
Windows OS မွာသံုးတဲ့ libraries ဖိုင္ေတြကို .dll ( Dynamic Linked Libraries ) ေတြ အေနနဲ႔ ေတြ႔ရမွာျဖစ္ပီး Linux OS နဲ႔ Android မွာေတာ့ os ( Shared Object ) ဖိုင္ေတြ အေနနဲ႔ ေတြ႔ ရမွာပါ၊ Java မွာ ကုတ္ေရးရင္ .jar libraries ေတြကို Class အေနနဲ႔ import လုပ္ရပါတယ္၊ Adnroid phone မွာလဲ မျဖစ္မေန အျမဲသံုးရတဲ့ libraries ေတြရွိပါတယ္၊ မျဖစ္မေနဆိုမွာ တကယ့္ မျဖစ္မေနပါ၊ သူတို႔ကို မသံုးရင္ ROM က Boot တက္မွာ မဟုတ္ေတာ့ ပါဘူး၊
Kernel အလႊာ
Kernel အေၾကာင္းကို အျခား ပိုစ့္ေတြမွာရွင္းထားတာ ရွိပါတယ္၊ သြားဖတ္ေပးပါ၊
Dalvik Virtual Machine
Dalvik Virtual Machine က Java ဘာသာရပ္နဲ႔ ေရးထားတဲ့ code ေတြ application ေတြကို Run ေပးပါတယ္၊ Java compiler က text ဖိုင္မွာေရးထားတဲ့ ဖိုင္ေတြကို Bytecode အျဖစ္ေျပာင္းေပးတယ္၊ ရလာတဲ့ Bytecode ေတြကို .dex ဖိုင္ေတြျဖစ္ေအာင္ compile လုပ္တယ္၊ Dalvik VM က .dex ဖိုင္ေတြကို ဖတ္ႏိုင္တယ္၊
Eclipe သို႔ Java IDE နဲ႔ ေရးထားတဲ့ class ဖိုင္ေတြကို .dex ဖိုင္ေတြျဖစ္ေအာင္ javac (java compiler) နဲ႔ compile လုပ္တယ္ (.dex ဖိုင္ေတြက .jar ဖိုင္ေတြန႔ဲတူတယ္)၊ .dex ဖိုင္ေတြကို Dalvik VM က Run ပီး .obj ဖိုင္ အျဖစ္ေျပာင္းေပးတယ္၊ ဒီ Object ဖိုင္ေတြကိုေတာ့ Kernel က နားလည္ပီး ေနာက္ပိုင္း အလုပ္ဆက္လုပ္တယ္၊ (တကယ္ေတာ့ Dalvik VM အေၾကာင္းကို အေသးစိတ္ေျပာရင္ စိတ္၀င္စားစရာ အလြန္႔အလြန္ေကာင္း သလို Java ကို Sun ကုမၼဏီ က ၀ယ္လိုက္တဲ့ Oracle နဲ႔ Google ၾကား Dalvik VM အေၾကာင္း အျငင္းပြားမူကလဲ တကယ့္ကို စိတ္၀င္စားစရာေကာင္းပါတယ္၊ Java Virtual Machine ကို Mobile နဲ႔ သင့္ေတာ္ေအာင္ Develop လုပ္လိုက္ရာမွ ပိုျမန္ပီးပိုေကာင္းလားတဲ့ ရလဒ္ျဖစ္တဲ့ Dalvik Virtual Machine ရဲ့ Apache Harmony project က စပီး ကုတ္ေတြနဲ႔ တည္ေဆာက္ပံုကိုပါေနာက္ပိုင္း အေသးစိတ္ေရးမယ္၊)
Application Framework
Application Framework ရဲ့ အေပၚမွာေတာ့ Applications Layer ပါရွိပါတယ္၊ အခ်ိဳ႕ Application ေတြကေတာ့ System Applicatoins ေတြျဖစ္ပီး မူတူညီတဲ့ ၀င္ေဆာင္မွဴ ေတြကိုေပးႏိုင္ပါတယ္၊ ဥပမာ အားျဖင့္ Applications တိုင္းရဲ့ Manifast ထဲမွာ မပါမျဖစ္ပါရတဲ့ Launcher ပါ၊ framework နဲ႔ System ui apks ေတြလဲရွိပါေသးတယ္၊ System ui apks ကေတာ့ Icon နဲ႔ dialog box style ေတြကို ဖန္တီးေပးပါတယ္၊
Applications
အေပၚဆံုးက ကၽြန္ေတာ္တို႔ရဲ့ applications ေတြပဲ၊
1. မျဖစ္မေနသံုးရတဲ့ Libraries ေတြက ဘာေတြလဲ၊
2. Bootloader ကို ဘယ္လို Develop လုပ္မလဲ၊
3. ဖုန္း ကုမၼဏီေတြက Android OS ကို ဘယ္လို အဆင့္ဆင့္ စိတ္ႀကိဳက္
Develop လုပ္ၾကလဲ၊
4. Java ဖိုင္ Run တဲ့ ေနာက္ကြယ္က အဆင့္ဆင့္ ျဖစ္စဥ္၊
5. imei ကို ဘယ္မွာ သိမ္းလဲ၊ imei နံပါတ္ကို ရွာတဲ့ Application ကို ဘယ္လို ေရးလဲ၊
6. System Font ေတြအေၾကာင္း ေလ့လာျခင္း ( ျမန္မာစာ အတြက္ )
7. ဖုန္းတစ္ခုလံုး Hardware အဆင့္ပဲထားပီး sofrware program ေတြအားလံုး ဘယ္လို ထည့္သြင္းတည္ေဆာက္မလဲ၊
8. low-level ( assambler )၊ mid-level ( Java, C#)၊ Height Level (C,C++) တို႔ႏွင့္ Android ဆက္စပ္ ပံု၊
9. embedded Program အေၾကာင္း၊
10. Microcontroller ေတြကို ဘယ္လို ထိန္းခ်ဳပ္လဲ၊
ဒီပိုုစ့္ကိုု pdf ဖိုုင္ အျဖစ္ ေဒါင္းလုုဒ္လုုပ္လိုု ပါက ဒီမွာ ေဒါင္းလုုပ္ရယူႏုုိင္ပါသည္....
Brighter Myanmar မွျပန္လည္ကူးယူေဖၚျပပါသည္.....
Android ရဲဲ့့ File System ကိိုု နားလည္ျခင္း
အေပၚက ပံုမွာ Android Partitions ခြဲပံုကို ေတြ႔ႏိုင္ပါတယ္၊ အျခား Partitions ေတြလဲ ရွိႏိုင္ပါေသးတယ္၊ Model တစ္ခုနဲ႔ တစ္ခု မတူပါဘူး၊ အထက္က Android Devices တိုင္းမွာ ေတာ့ အထက္က ပံုမွာေဖာ္ျပထားတဲ့ အလႊာေျခာက္မ်ိဳး ပါကိုပါမွာပါ၊
/boot အလႊာ
/system အလႊာ
/recovery အလႊာ
/data အလႊာ
/cache အလႊာ
/misc အလႊာ
boot အလႊာက Boot.im , system အလႊာက System.img , recovery အလႊာက recovery.img အလႊာတို႔က Flash လုပ္လို႔ရတဲ့ အလႊာေတြပါ၊ Flash လုပ္ခ်င္ရင္ေတာ့ bootloader ကို lock ဖြင့္ထားဖို႔လိုအပ္ပါတယ္၊ အျခား /sdcard နဲ႔ /sd-ext pratitions ေတြလဲရွိပါေသးတယ္၊ /sdcard partition က Android သံုး ပစၥည္းတိုင္းမွာ ပါေပမယ့္ SD-Ext partition ကေတာ့ အခ်ိဳ႕ ဖုန္းနဲ႔ Android သံုး ပစၥည္းေတြမွာပဲပါပါတယ္၊
boot အလႊာ (/boot)
Boot အလႊာကေတာ့ သူ႔နာမည္အတိုင္း System Boot လုပ္ႏိုင္တဲ့ အစိတ္အပိုင္းေတြျဖစ္တဲ့ kernel နဲ႔ ramdisk တို႔ပါတယ္၊ ဒီ Boot အလႊာ မပါရင္ ဘယ္ဖုန္းက ႏိုးလို႔ရေတာ့မွာမဟုတ္ဘူး အလုပ္လုပ္ေတာ့မွာ မဟုတ္ေတာ့ဘူး၊ Recovery အလႊာကေန ပီး လိုအပ္ရင္ Boot အလႊာကို ျပန္ေရးႏိုင္ပါတယ္၊လိုအပ္လို႔R့ecoveryကေနBootအလႊာကိုျပန္ေရးမယ္ဆိုရင္အသစ္ေရးတာမပီးခင္Bootျပန္လုပ္တာမ်ိဳးမျဖစ္သင့္ပါဘူး၊
System အလႊာ(/system)
System ဆိုတဲ့ နာမည္အတိုင္းပါပဲ ဒီအလႊာမွာ Android OS (Operation System) တစ္ခုလံးပါပါတယ္၊ ဒီထဲမွာ Android GUI ( Graphic User Interface ) လို႔ ေခၚတဲ့ အသံုးျပဳသူ ျမင္ႏိုင္ ေတြ႔ႏိုင္ interact ( ႏွိပ္တာတို႔ ထိတာတို႔ ) လုပ္ႏိုင္တဲ့ appliactions ေတြအားလံုးပါပါတယ္၊ ဒီ အလႊာကို ဖ်က္ပစ္ျခင္း က Adnroid OS တစ္ခုလံုးကို ျဖတ္ပစ္တာျဖစ္ပါတယ္၊ recovery ကေန ျဖစ္ေစ ROM တစ္ခုကို bootloader ကေန Install လုပ္ျခင္းျဖစ္ေစ OS ျပန္တင္ႏိုင္ပါတယ္၊
Recovery အလႊာ(/recovery)
ဒီ အလႊာ ကေတာ့ Backup အတြက္ သီးသန္႔ထားတာပါ၊ ဖုန္းမွာ တစ္စံုတစ္ခု အမွား လုပ္ပီး တစ္ခုခု အႀကီး အက်ယ္ ပ်က္စီးသြားခဲ့ရင္ Recovery ျပန္လုပ္ျခင္းျဖင့္ Android System ကို ျပန္ပီး ျပဳျပင္ေပးပါလိမ့္မယ္၊ Recovery အလႊာကို Boot အလႊာလို System restore လုပ္ႏိုင္တဲ့ အလႊာျဖစ္တဲ့ အတြက္ သူကို Alternative Boot လို႔လဲ လူသိမ်ားတယ္၊ Recovery လုပ္ရင္ recovery console ကေန Phone က Boot လုပ္ေစပီး System ျပဳျပင္ျခင္း ကိုလုပ္ပါလိမ့္မယ္၊
dataအလႊာ(/data)
data အလႊာမွာ userdata ေတြ ျဖစ္တဲ့ contacts , sms, setting နဲ႔ applications ေတြအားလံုးကိုသိုေလွာင္ထားတယ္၊ factory reset ျပန္ခ်ရင္ ဒီ data အလႊာ ထဲက တန္ဖိုးေတြအားလံုး ဖ်က္ပစ္ပါလိမ့္မယ္၊ ဒါဆိုရင္ေတာ့ ဖုန္း၀ယ္တုန္း က အေျခအေနကိုျပန္ေရာက္သြားပါလိမ့္မယ္၊ ဒါမွမဟုတ္ရင္
Android ဖုန္းတစ္လံုးရဲ့ Partitions (အလႊာ) ေတြကို အေၾကာင္းကိုရွင္းသြားပါမယ္၊ ပံုမွန္အားျဖင့္ Android Partitions မွာ အဓိက အလႊာ ၆ ခုရွိပါတယ္၊ (Post တိုင္းမွာ Android ဖုန္း လို႔ျခည္း ေျပာေနေပမယ့္ အျခား Android သံုးပစၥည္း (Devices) ေတြကိုလဲ ရည္ညြန္းပါတယ္၊
cache အလႊာ(/cache)
cache အလႊာ ကေတာ့ အားလံုး သိထားပီးသားျဖစ္တဲ့တိုင္း အသံုးျပဳတာမ်ားတဲ့ data ေတြနဲ႔ application Components ေတြကို သိုေလွာင္တဲ့ ေနရာပါ၊ cache ကိုျဖတ္လိုက္ရင္ေတာ့ မွတ္ထားတဲ့ မွတ္သားမွဴေတြကိုျဖတ္ပစ္မွာ ျဖစ္ပါတယ္၊ applications ေတြကိုျဖတ္တာမဟုတ္ဘူးဆိုတာေတာ့ သေဘာေပါက္သင့္ပါတယ္၊ အကယ္၍ cache ထဲက မွတ္ထားသမွ် ကိုျဖတ္ ပစ္ရင္ေတာင္ ျဖတ္ပီးေနာက္ပိုင္း ျပန္သံုးရင္ သံုးသမွ်ကို ျပန္မွတ္ေနဦးမွာပါ၊
miscအလႊာ(/misc)
ဒီ Partition ထဲမွာေတာ့ ဖုန္း ရဲ့ System Setting ေတြအားလံုးကို ဖုန္းအသံုးျပဳသူ ျပဳျပင္ေျပာင္းလဲ ထားတဲ့ အတိုင္း သိမ္းေပးထားပါတယ္၊ ဒီ အလႊာ မွာ CID (Carrier / Region ID) setting တို႔ USB configuration တို႔ ကို Setting ေျပာင္းထားတာပါပါတယ္ အျခား System Setting ေတြအားလံုးကို လဲ ဒီေနရာမွာ မွတ္သားသိမ္းစည္းပါတယ္၊
custom ROM ထည့္ထားတုန္းက အေျခအေနကို ျပန္ေရာက္သြားမယ္ေပါ့ ( Custom ROM install လုပ္ထားခဲ့ရင္ေျပာပါတယ္)
ဒီ ပိုုစ့္ ကိုု pdf ဖိုုင္ အေနနဲ႔ ေဒါင္းခ်င္ရင္ ေအာက္က လင့္မွာ ေဒါင္းႏုုိင္ပါသည္...

