Android Device အတွက် ADB နဲ့ Fastboot အသုံးပြုနည်းများ

date_range 19 July 2017

Android Device အတွက် ADB နဲ့ Fastboot အသုံးပြုနည်းများ

visibility 11280 Views

                ကျွန်တော်တို့ Android Device တွေကို ADB နဲ့ Fastboot အသုံးပြုပြီး ဘယ်လိုထိန်းချုပ်မလဲဆိုတာကို မပြောပြခင်မှာ အရင်ဆုံး ADB နဲ့ Fastboot အကြောင်းလေးကို စ ပြောကြရအောင်။ 

Android Debug Bridge (ADB)

                Android Debug Bridge ဆိုတာကို အလွယ်ဆုံးရှင်းပြရမယ်ဆိုရင်တော့ Android Developers အနေနဲ့ Application (ဒါမှမဟုတ်) ROM တွေဖန်တီးတဲ့အခါမှာ Error တွေကိုသေချာသိနိုင်ဖို့အတွက် Device Logs (Logcat) တွေ၊ Device Status တွေနဲ့အတူ အခြား Dumpstate တွေရယူနိုင်ဖို့အတွက် အသုံးပြုတဲ့ Bridge (တံတား) တစ်ခုပဲဖြစ်ပါတယ်။ 

                ADB အသုံးပြုပြီး မိမိရဲ့ Device ကို Command Line Program နဲ့ USB Connection ကနေ အတော်များများကို ထိန်းချုပ်/ပြုပြင်လို့ရပါတယ်။ Debug ဆိုတာကတော့ Android Developers တွေဟာ ဒီ Tool ကိုအသုံးပြုပြီး Bug အတော်များများကို စစ်ပြီးရှင်းထုတ်လိုက်လို့ရအောင် ပြုလုပ်ထားတယ်ဆိုတဲ့ အဓိပ္ပါယ်နဲ့ သုံးနှုန်းထားတာပါ။ 

                ADB ကို USB Connection တင်မဟုတ်ပဲ Same Wifi Network မှာ TCPIP နဲ့လည်း Wireless အနေနဲ့ ထိန်းချုပ်အသုံးပြုလို့ရပါသေးတယ် (ဘယ်လိုလုပ်ရတယ်ဆိုတာကို အသေးစိတ်ဆက်လက်ရှင်းပြပေးသွားပါမယ်)။ Android SDK မှာလည်း ADB Package ကို Platform Tools အနေနဲ့ ပါ၀င်ပါတယ်။

Fastboot

                Fastboot ဆိုတာကလည်း ADB လို Protocol တစ်ခုပါပဲ။ ဒါပေမဲ့ Fastboot မှာကတော့ System Image တွေ Flash တာ (ဥပမာ-Boot, Recovery, System, Data) နဲ့ Recovery Mode ကို Alternative အဖြစ် System Updates နဲ့ Installation တွေအတွက် အသုံးပြုတာများပါတယ်။ Bootloader Unlock ပြုလုပ်တဲ့အခါမှာလည်း ဒီ Fastboot Mode ကိုအသုံးပြုကြရပါတယ်။

                တကယ်လို့ သင်ဟာ Custom Recovery ကိုအသုံးပြုဖူးတဲ့သူတစ်ယောက်ဆိုရင် “fastboot flash recovery twrp.img” ဆိုတဲ့ Command ကိုရင်းနှီးနေမှာအသေအချာပါပဲ။ Bootloader ဟာ Lock ဖြစ်နေတယ်ဆိုရင်တော့ OEM ကသတ်မှတ်ထားတဲ့ Software မှအပ အခြား Custom Image တွေကိုထည့်သွင်းလို့ရမှာမဟုတ်တဲ့အတွက် အရင်ဆုံး ကျွန်တော်တို့ Fastboot ကနေ Bootloader Unlock အရင်ပြုလုပ်ကြရပါတယ်။ ဒါကြောင့်မို့ Android ကို ကလိသူအတော်များများအတွက် Fastboot အကြောင်းကို အများကြီးရှင်းပြစရာမလိုလောက်ဘူးထင်ပါတယ်။

                Fastboot နဲ့ ADB မတူတဲ့အချက်ကတော့ Fastboot ဟာ ADB လိုမျိုး USB-Over-TCPIP အသုံးပြုလို့မရတာပဲဖြစ်ပါတယ်။ USB Connection တစ်ခုတည်းကနေပဲ အသုံးပြုနိုင်မှာပါ။ နောက်တစ်ချက်ကတော့ Fastboot ကို ADB လိုမျိုး Android System ကို Boot ထားတဲ့အချိန်မှာအသုံးပြုနိုင်မှာမဟုတ်ပါဘူး။ Fastboot Mode ဆိုတဲ့ ဖုန်း Boot စစတက်ချင်းမှာ သတ်မှတ်ထားတဲ့ ခလုပ်ကိုဖိထားတာပဲဖြစ်ဖြစ်၊ “adb reboot bootloader” ဆိုတဲ့ ADB Command ကနေမှတစ်ဆင့် ၀င်ရောက်ပြီးမှအသုံးပြုနိုင်မှာဖြစ်ပါတယ်။

Installing ADB & Fastboot 

                တကယ်တမ်းတော့ ကျွန်တော့်အနေနဲ့ Android SDK ကမှတစ်ဆင့် Platform Tools တွေနဲ့ USB Drivers တွေကို တစ်ခုချင်းဒေါင်းလုပ်ဆွဲပြီး Install လုပ်ခိုင်းရမှာပါ။ ဒါပေမဲ့လည်း အဆင့်တွေကအတော်လေးရှုပ်ထွေးပြီး Windows ရဲ့ Command Prompt ကနေ ဘယ်နေရာရောက်ရောက် အသုံးပြုနိုင်အောင် ADB နဲ့ Fastboot exe ဖိုင်တွေကို System32 အထိပါသွင်းနေရမှာမို့ ဒီထက်လွယ်ကူတဲ့ Installation Tool တစ်ခုနဲ့ သွင်းနည်းလေးကိုပါ ပြောပြပေးပါမယ်။

                ဒီ Installation Tool ကို XDA Developers Forum က Snoop05 မှ Develop လုပ်ထားပြီး Size အနေနဲ့လည်း 9.18MB လောက်ပဲရှိပါတယ်။ ADB & Fastboot Tools အပြင် Drivers ပါတစ်ခါတည်းသွင်းပေးပြီး Windows ရဲ့ Command Prompt ကနေ ဘယ်နေရာရောက်ရောက်အသုံးပြုနိုင်မှာမို့ အတော်များများအတွက်အဆင်ပြေပြီး အချိန်ကုန်သက်သာစေမှာပါ။ 

  • ပထမဦးဆုံး ဒီ Link ကနေ၀င်ပြီးတော့ Installation Tool ကိုဒေါင်းလုပ်ပြုလုပ်နိုင်ပါတယ်။ တကယ်လို့သာ သွင်းရတာ အဆင်မပြေခဲ့ဘူးဆိုရင် ဒီ Google Drive Link ကနေ၀င်ပြီးတော့ Version 1.3 ကိုဒေါင်းလုပ်ပြုလုပ်ပြီး Install လုပ်ကြည့်ပေးပါ (Version 1.3 ဟာ Windows 8.1 နဲ့ သူ့ထက်နိမ့်တဲ့ Windows Version တွေအတွက်အဆင်ပြေပြီး Version 1.4.2 ကတော့ နောက်ဆုံးထွက်ထားတဲ့ Windows 10 အတွက်အဆင်ပြေပါတယ်)။
  • ဒေါင်းလုပ်ချပြီးတာနဲ့ Setup ဖိုင်ကိုဖွင့်လိုက်ပါ။ ပထမဦးဆုံးအနေနဲ့ မေးခွန်းနှစ်ခုမေးပါလိမ့်မယ်။ “Do you want to install ADB and Fastboot” ဆိုတဲ့မေးခွန်းကို ADB နဲ့ Fastboot သွင်းချင်တယ်ဆို y လို့ရိုက်ထည့်ပေးပါ။ ပြီးတာနဲ့ နောက်ထပ်မေးခွန်း “Install ADB system-wide?” ဆိုတဲ့မေးခွန်းမေးပါလိမ့်မယ်။ y ပဲထပ်ရိုက်ထည့်ပေးပါ။ 


  • အခုအခါ ADB & Fastboot Tools တွေ Install လုပ်ပြီးပြီဆိုတော့ နောက်ထပ် မေးခွန်းတစ်ခု “Do you want to install device drivers?” ဆိုပြီးထပ်မေးပါလိမ့်မယ်။ ADB & Fastboot Drivers တွေတစ်ခုမှ မသွင်းရသေးဘူးဆိုရင်တော့ y ပဲထပ်ရိုက်ထည့်ပေးပါ။ 


  • Driver Installation Setup Wizard တစ်ခုထပ်တက်လာပါလိမ့်မယ်။ Next နှိပ်ပြီး သွင်းတာခဏစောင့်ပေးပါ။ Windows Security မှ “Would you like to install this device software” လို့ပေါ်လာခဲ့ရင်လည်း Install ပဲထပ်နှိပ်ပေးပါ။ Virus မပါ၀င်တဲ့အတွက် စိတ်ချရပါတယ်။


  • အားလုံးပြီးပြီဆိုရင်တော့ ဒီလိုမျိုး Completing the Device Driver Installation Wizard ဆိုပြီး Driver Status ကလည်း Ready ဆိုပြီး ပြပါလိမ့်မယ်။ ဒါဆိုရင်တော့ Finish နှိပ်ပြီး Installation ကိုအဆုံးသတ်လို့ရပါပြီ။ နောက်ထပ်လည်း ဘာမှထပ်နှိပ်စရာမလိုတော့ပဲ Installation Tool လည်းအလိုအလျောက်ပိတ်သွားပါလိမ့်မယ်။


Testing ADB

                ကျွန်တော်တို့ Installation အဆင့်ပြီးသွားပြီဆိုတော့ ADB အလုပ်လုပ်/မလုပ် စမ်းသပ်ကြည့်ပါမယ်။ အရင်ဆုံး ကျွန်တော်တို့ရဲ့ Android စမတ်ဖုန်းမှာ USB Debugging Mode ကိုဖွင့်ထားဖို့လိုအပ်ပါတယ်။

  • ပထမဦးဆုံးအနေနဲ့ ကျွန်တော်တို့ Settings > About Phone ကို၀င်ပြီး Build Number ကို သုံးလေးချက် ဆက်တိုက်ခေါက်ပေးပါ။ “You are now a developer” လို့ပေါ်လာရင်တော့ ဆက်ခေါက်စရာမလိုတော့ပါဘူး (ပုံမှာကတော့ နဂိုကတည်းက Developer Option ဖွင့်ပြီးသားမို့ “No need, you are already a developer” ဆိုပြီးပေါ်နေတာပါ)။ ဒီအဆင့်မှာ စမတ်ဖုန်းအမျိုးအစားအပေါ်မူတည်ပြီး လုပ်ပုံလုပ်နည်း အနည်းငယ်ကွဲပြားနိုင်ပါတယ်။ Xiaomi ဖုန်းအသုံးပြုသူတွေကတော့ MIUI Version ကို သုံးလေးချက် ဆက်တိုက်ခေါက်ပေးရမှာပါ။


  • အခုဆိုရင်တော့ အောက်ကပုံမှာပြထားတဲ့အတိုင်း Developer Options ဆိုပြီး Settings မှာ မြင်တွေ့နေရမှာပါ။ Xiaomi ဖုန်းအမျိုးအစားအသုံးပြုသူတွေအနေနဲ့ Settings > Additional Settings မှာ ၀င်ရောက်ရှာဖွေနိုင်ပါတယ် (တခြားဖုန်းအမျိုးအစားပြောင်းလဲမှုအပေါ်မူတည်ပြီးတော့လည်း Settings အထားအသို အနည်းငယ်ကွဲပြားနိုင်ပါတယ်)။


  • Developer Options ထဲ၀င်ပြီး အောက်ကိုနည်းနည်း Scroll လိုက်တာနဲ့ USB Debugging ဆိုတာကိုတွေ့မြင်ရမှာဖြစ်ပါတယ်။ အဲ့ဒီ Switch လေးကို On ပေးလိုက်ပါ။ ဒါဆိုရင်တော့ သင့်ရဲ့ Android စမတ်ဖုန်းကို ADB နဲ့ စတင်ထိန်းချုပ်လို့ရသွားပါပြီ။ အားလုံးပြီးသွားပြီဆိုရင် ကွန်ပျုတာမှာ ဖုန်းကို USB ကြိုးထိုးပြီး ချိတ်ဆက်ပေးလိုက်ပါ။


  • Start Menu ကနေ cmd လို့ရိုက်လိုက်တာနဲ့ Command Prompt (Desktop App) ဆိုပြီးပေါ်လာပါလိမ့်မယ်။ နှိပ်ပြီးဖွင့်လိုက်ပါ (Windows+R နှိပ်ပြီး Run Dialog Box ကနေလည်း cmd ရိုက်ပြီး Command Prompt ကိုခေါ်နိုင်ပါတယ်)။


  • Command Prompt ပေါ်လာပြီဆိုရင် “adb devices” ဆိုပြီးရိုက်ကြည့်လိုက်ပါ။ “List of Devices Attached” မှာ ဒီလိုမျိုး နံပါတ်တွေနဲ့ပေါ်လာပြီး “Unauthorized” ဒါမှမဟုတ် “Device” ဆိုပြီးပြနေရင်တော့ ADB Tools ကော USB Drivers တွေကော အလုပ်ကောင်းကောင်းလုပ်နေတယ်လို့ပြောလို့ရပါတယ် (တကယ်လို့ “List of Devices Attached” အောက်မှာ ဘာမှမပေါ်လာသေးဘူးဆိုရင်တော့ ဒီဆောင်းပါးရဲ့အောက်ဆုံးမှာရေးသားထားတဲ့ Troubleshooting နေရာမှာ ၀င်ရောက်ဖတ်ရှုကြည့်နိုင်ပါတယ်)။


  • “Unauthorized” လို့ပြနေရင်တော့ ဖုန်းမှာ Allow USB Debugging မပြုလုပ်ရသေးလို့ပါ။ အောက်ကပုံမှာပြထားတဲ့အတိုင်း Prompt တက်လာခဲ့ရင် “Always allow from this computer” ကိုအမှန်ခြစ်ပြီး OK နှိပ်ပေးလိုက်ပါ။ နောက်တစ်ခါ “adb devices” ဆိုပြီးရိုက်လိုက်တဲ့အခါကျရင် “Unauthorized” အစား “Device” ဆိုပြီးပြောင်းလဲပြသပေးပါလိမ့်မယ်။ 


Testing Fastboot

                တကယ်လို့သာ ADB ကိုစမ်းသပ်ကြည့်လို့ အဆင်ပြေခဲ့တယ်ဆိုရင် ကျွန်တော်တို့ Fastboot အလုပ်လုပ်/မလုပ် ဆက်လက်ပြီး စမ်းသပ်ကြည့်ကြရအောင်။ 

  • အရင်ဆုံး ကျွန်တော်တို့ “adb reboot bootloader” ဆိုတဲ့ Command ကို Command Prompt မှာရိုက်ထည့်ပေးပါ။ ဖုန်း Reboot ကျသွားပြီး Fastboot Mode တက်လာပါလိမ့်မယ်။


  • Fastboot Mode တက်လာတဲ့အခါ ကွန်ပျုတာမှာ “fastboot devices” ဆိုပြီး Command Prompt မှာရိုက်ကြည့်လိုက်ပါ။ အဆင်ပြေတယ်ဆို အောက်ကပုံမှာ ပြထားတဲ့အတိုင်း “fastboot” ဆိုပြီး ကိုယ့် Device ကိုမြင်တွေ့ရမှာပါ။ (တကယ်လို့ရိုက်ကြည့်လိုက်တဲ့အခါ ဘာမှမပေါ်လာဘူးဆိုရင်တော့ Drivers တွေသေချာမသိသေးတာမို့ အဆင်ပြေအောင်ဘယ်လိုလုပ်မလဲဆိုတာကို Troubleshooting နေရာမှာ ၀င်ရောက်ဖတ်ရှုပေးပါ)။


  • Fastboot Mode ကနေပြန်ထွက်ချင်တယ်ဆိုရင်တော့ “fastboot reboot” ဆိုတဲ့ command ကို Command Prompt ကနေရိုက်ပြီး Android OS ပေါ်ကိုပြန်လည် Boot တက်နိုင်ပါတယ်။


Popular ADB Commands

                တကယ်တမ်းတော့ ADB ဟာ လေ့လာရင်လေ့လာသလောက် Command တွေနဲ့ Syntax တွေ အမြောက်အများရှိပါတယ်။ ဒါတွေကို အကုန်လုံးကျွန်တော်ရေးပြနေမယ်ဆိုရင် စာအတော်ရှည်ပြီး ဘယ်လိုအလုပ်လုပ်တယ်ဆိုတာကိုပဲ သိချင်တဲ့သူတွေအဖို့ စိတ်၀င်စားဖို့ကောင်းတော့မှာမဟုတ်ပါဘူး။ ဒါကြောင့်မို့လို့ ကျွန်တော့်အနေနဲ့ ADB Commands တွေထဲကမှ လူသုံးများတဲ့ Commands အချို့ကို ရှင်းပြပေးသွားပါမယ်။ 

  • “adb devices” - ဒီ Command ဟာတော့ မိမိကွန်ပျုတာမှာ ADB နဲ့ ဘယ် Device တွေချိတ်ဆက်ထားတယ်ဆိုတာကို ပြသပေးနိုင်မှာဖြစ်ပါတယ်။ 
  • “adb install” – မိမိကွန်ပျုတာမှာရှိတဲ့ “.apk” ဖိုင်တွေကို adb install နဲ့ Android Device ထဲကိုသွင်းပေးလို့ရပါတယ်။ အလွယ်အနေနဲ့ .apk ဖိုင်ရှိတဲ့ Folder ထဲမှာ Shift ခလုပ်ကိုဖိပြီး Right Click နှိပ်လိုက်တာနဲ့ Menu မှာ “Open Command Window Here” ဆိုတာလေးပေါ်လာပါလိမ့်မယ်။ အဲ့ဒီအခါကျဖွင့်ပြီး “adb install xxxx.apk” လို့ရိုက်လိုက်တာနဲ့ တစ်ခါတည်း ဖုန်းထဲမှာ Install လုပ်သွားပါလိမ့်မယ် (xxxx နေရာမှာ ကိုယ့်ဆီမှာရှိတဲ့ Apk Filename ကိုထည့်ပေးရမှာပါ)။


  • “adb pull” - မိမိဖုန်းထဲမှာရှိတဲ့ဖိုင်တွေကို Folder လိုက်ပဲဖြစ်ဖြစ်၊ ဖိုင်တစ်ခုတည်းကိုပဲဖြစ်ဖြစ် ကွန်ပျုတာထဲကိုဆွဲထုတ်လို့ရပါတယ်။ ကိုယ်ဆွဲထုတ်ပြီးသိမ်းထားချင်တဲ့ Folder ထဲမှာ အပေါ်မှာပြောထားတဲ့အတိုင်း Command Prompt ကိုဖွင့်ပြီး “adb pull /sdcard/YourFolder” ဒါမှမဟုတ် “adb pull /sdcard/YourFolder/YourFile.jpg” စသည်ဖြင့်ဆွဲထုတ်လို့ရပါတယ်။ Internal Storage ထဲကဖိုင်တွေအတွက် /sdcard Directory ကိုအသုံးပြုပြီး SD Card ထဲမှဒေတာတွေအတွက်ကို သာမန်အတိုင်းဆိုရင်တော့ /sdcard1 ဆိုတဲ့ Directory ကိုအသုံးပြုပါတယ်။

 

  • “adb push” - ကွန်ပျုတာထဲမှာရှိတဲ့ဖိုင်တွေကို မိမိဖုန်းထဲကို push သုံးပြီး ပို့ပေးလို့ရပါတယ်။ ပို့ပေးချင်တဲ့ ဖုန်းထဲက Directory ကိုတော့ သေချာသတ်မှတ်ပေးရမှာဖြစ်ပါတယ်။ ဥပမာ- ကိုယ်ပို့ချင်တဲ့ဖိုင်နာမည်က OneNote.apk ဖြစ်ပြီး Internal Storage ထဲက Test ဆိုတဲ့ Folder ထဲကို ဖိုင်ပို့ပေးမယ်ဆိုရင် “adb push OneNote.apk /sdcard/Test” ဆိုပြီး Command Prompt မှာရိုက်ထည့်ပေးရမှာဖြစ်ပါတယ်။


  • “adb get-serialno” - ဒီ Command ကတော့ ထူးထူးခြားခြားမဟုတ်ပဲ ကိုယ့် device ရဲ့ Serial Number ကိုပြသပေးမှာပါ။ ကိုယ့် device ရဲ့ Serial Number ကိုသိချင်ရင် “adb devices” Command အသုံးပြုပြီးလည်း ကြည့်လို့ရပါတယ်။


  • “adb logcat” - ဒီ Command ကိုအသုံးပြုပြီး ကိုယ့်ဖုန်းတစ်ခုလုံးက activity တွေကို Log အနေနဲ့ကြည့်ရှုလို့ရပါတယ်။ တစ်ခုရှိတာက ဒီ Command ကိုရိုက်ထည့်လိုက်တာနဲ့ Command Window မှာ ဆက်တိုက် Log တွေတက်နေမှာမို့ ပြန်ပိတ်လိုတဲ့အခါ Command Prompt ရဲ့ “Close” ကိုပဲနှိပ်ပြီးပိတ်လိုက်ရမှာပါ။ Logcat Command ဟာ Developers တွေအတွက် အလွန်အသုံး၀င်တဲ့ Command တစ်ခုဖြစ်ပြီး ဘယ်အစိတ်အပိုင်းမှာ Bugs တွေဖြစ်နေတယ်ဆိုတာကို အသေးစိတ်ရှာဖွေနိုင်ပါတယ်။ 


  • “adb wait-for-device” - ဒီ Command ကိုတော့ မိမိစမတ်ဖုန်းကို ကွန်ပျုတာနဲ့မချိတ်ဆက်ရသေးခင်မှာ ကြိုပြီး ADB Command ပေးထားချင်တဲ့အချိန်မှာအသုံးပြုပါတယ်။ ဥပမာ- File Push ပြုလုပ်ချင်ပြီး မိမိဖုန်းကို USB နဲ့မချိတ်ရသေးတဲ့အချိန်မှာ ကျွန်တော်တို့ “adb wait-for-device push OneNote.apk /sdcard/Test” ဆိုပြီး Command အရင်ပေးထားလို့ရပါတယ်။ အဲ့ဒါဆို ဖုန်းကို ကွန်ပျုတာနဲ့ USB ချိတ်ဆက်လိုက်တဲ့အခါ Debugging ဖွင့်ထားတဲ့ဖုန်းဆို တစ်ခါတည်း ADB မှ Command ကို Execute ပြုလုပ်သွားမှာဖြစ်ပါတယ်။


  • “adb bugreport” - ဒီ Command ကို အသုံးပြုတဲ့အခါ မိမိ Android စမတ်ဖုန်းမှာရှိတဲ့ Apps တစ်ခုချင်းစီ နဲ့ တခြား Activity တွေမှာဖြစ်ပျက်ခဲ့တဲ့ Crash အရေအတွက်တွေကို Dump ပြီးဖော်ပြပေးမှာဖြစ်ပါတယ်။ Dumpstate ဟာ Developers တွေအတွက်တော့ အသုံး၀င်မှာဖြစ်ပေမယ့် သာမန်အသုံးပြုသူတွေအနေနဲ့တော့ အရမ်းကြီးအရေးမကြီးတဲ့ Command တစ်ခုဖြစ်ပါတယ်။


  • “adb start-server”, “adb kill-server” - ဒီ Command တွေကတော့ ADB ကို Force အနေနဲ့ စတင်ပေးတာနဲ့ အဆုံးသတ်တဲ့နေရာမှာအသုံးပြုပါတယ်။ Start Server Command ကိုတော့ သိပ်အသုံးမပြုကြပေမဲ့ ADB Server Error တက်ခဲ့ရင်တော့ Command Prompt အသစ်တစ်ခုထပ်ဖွင့်ပြီး Kill Server Command ကိုတော့ အသုံးပြုကြပါတယ်။ ဒါကြောင့်မို့ ADB Error တက်လာတဲ့အခါ “adb kill-server” ဆိုတာကိုရိုက်ပြီး Force Stop လုပ်ဖြေရှင်းနိုင်ပါတယ်။
  • “adb shell” – ဖုန်းထဲမှာ Shell Access ရယူတာကိုပြောတာပါ။ Root ရှိတယ်ဆိုရင် “su” ခေါ်ပြီး $ ကနေ # ပြောင်းလဲအသုံးပြုလို့ရပါတယ်။ ဒီ Shell access ရတဲ့အခါမှာ Shell Commands အတော်များများကို /system/bin ထဲက Binary ဖိုင်တွေနဲ့ execute ပြုလုပ်တာပါ။

  • Binary တွေအားလုံးကိုသိချင်ရင်တော့ “adb shell” ကိုအရင်ရိုက်ပြီး $ ပေါ်လာတဲ့အခါ “cd /system/bin” လို့ထပ်ရိုက်လိုက်ပါ။ ပြီးတာနဲ့ “ls” ဆိုပြီးထပ်ရိုက်ကြည့်လိုက်ပါ။ /system/bin ထဲမှာရှိတဲ့ File List လေးကျလာပါလိမ့်မယ်။

  • အဲ့ထဲမှာမှ “app_process” ကနေစပြီး “yes” အထိက Shell Command တွေအဖြစ်အသုံးပြုလို့ရတဲ့ Binary ဖိုင်လေးတွေပါ။ တစ်ခုသတိထားရမှာက Shell ဟာ ဖုန်းအတွင်းက Filesystem ကိုတိုက်ရိုက် Access ပြုလုပ်နေတာမို့လို့ ကိုယ်တစ်ချက်ကလိမှားသွားတာနဲ့ ပြဿနာတွေမျိုးစုံ၀င်ရောက်လာနိုင်ပါတယ်။


  • ကျွန်တော်တို့ ဥပမာတစ်ခုအနေနဲ့ “adb shell” ကိုအသုံးပြုပြီး ဖုန်းမှာပေါ်နေတဲ့ Screen ကို Screenshot ရိုက်ကြည့်ကြရအောင်။ ပထမဦးဆုံး “adb shell” ကိုရိုက်လိုက်ပါ။ $ ပေါ်လာတဲ့အခါကျရင် “screencap –p /sdcard/test_screenshot.png” ဆိုတဲ့ Command ရိုက်ထည့်ကြည့်ပေးပါ။ ခဏနေရင် $ ပြန်တက်လာပါလိမ့်မယ်။


  • အဲ့ဒီအခါကျ ကိုယ့်ဖုန်းရဲ့ File Manager ကနေ Internal Storage ထဲကို၀င်ကြည့်လိုက်တဲ့အခါ test_screenshot.png ဆိုတဲ့ Screenshot ရိုက်ထားတဲ့ဖိုင်လေးကို တွေ့ရမှာပါ။


  • “adb reboot” - ဒီ Command ကိုအသုံးပြုပြီး မိမိဖုန်းကို Reboot ချလို့ရပါတယ်။ ဘာမှအသုံးမ၀င်တဲ့ Command လားဆိုတော့ မဟုတ်ပါဘူး။ “adb reboot recovery” လို့ရိုက်ထည့်လိုက်တဲ့အခါ မိမိဖုန်းဟာ Boot ပြန်တက်လာတဲ့အခါကျ Recovery Mode ကိုတိုက်ရိုက်ရောက်သွားမှာဖြစ်ပြီး၊ “adb reboot bootloader” လို့ရိုက်ထည့်လိုက်တဲ့အခါကျရင် Bootloader/Fastboot Mode ကိုရောက်သွားမှာဖြစ်ပါတယ်။ သက်ဆိုင်ရာ Mode တွေကို ဖုန်းရဲ့ခလုပ်တွေဖိပြီး မ၀င်ချင်တဲ့သူတွေအတွက် ADB ကနေပဲ Reboot Command အသုံးပြုနိုင်ပါတယ်။ ရိုးရိုးပဲ Reboot ပြုလုပ်လိုတဲ့သူတွေအနေနဲ့တော့ “adb reboot” လို့ပဲရိုက်ထည့်လိုက်ရင် ရပါပြီ။
  • “adb help” - ဒီ Command ကိုရိုက်ထည့်ပြီး ADB မှာအသုံးပြုနိုင်တဲ့ Command List နဲ့ ရှင်းပြချက်တွေကို ကြည့်ရှုနိုင်ပါတယ်။

ADB Over Network

                Same Wifi Network မှာ ကိုယ့်ရဲ့စမတ်ဖုန်းကို USB ကြိုးအသုံးမပြုပဲ ADB အသုံးပြုလို့ရအောင် “adb tcpip” နဲ့ “adb connect” Commands တွေကိုအသုံးပြုပြီး ချိတ်ဆက်ပြပါမယ်။ (တစ်ချို့စမတ်ဖုန်းတွေမှာ ဒီ Feature ကိုအသုံးပြုဖို့အတွက် Developer Options ထဲမှာ Wireless ADB Debugging ဆိုတာကို ဖွင့်ပေးရပါတယ်)

  • အရင်ဆုံး ကိုယ့် Android ဖုန်းကနေ Settings > About Phone > Status ထဲကို၀င်ပြီး IP Address ကိုမှတ်ထားပေးပါ (ကျွန်တော့် Wifi Network ရဲ့ IP Address ကတော့ 192.168.100.6 ဖြစ်ပါတယ်)။ 


  • ပြီးတာနဲ့ စမတ်ဖုန်းကို USB နဲ့အရင် ကွန်ပျုတာမှာချိတ်ဆက်ပြီး “adb tcpip 5555” လို့ Command Prompt မှာရိုက်ထည့်ပေးပါ။


  • ရိုက်ထည့်ပြီးရင် မိမိ Android ဖုန်းကို USB ကြိုးဖြုတ်ပြီး “adb connect 192.168.100.6” ဆိုပြီးရိုက်ထည့်လိုက်ရုံပါပဲ။ 192.168.100.6 နေရာမှာ ကိုယ့်ဖုန်းရဲ့ Status မှာပေါ်တဲ့ IP Address ကိုပြောင်းလဲရိုက်ထည့်ပေးရမှာပါ။


  • အခုအခါမှာဆိုရင် “connected to 192.168.100.6:5555" လို့ပေါ်လာပြီဆိုတော့ ကျွန်တော်တို့ ADB Command အချို့စမ်းသပ်ကြည့်ရအောင်။ အရင်ဆုံး ကျွန်တော် “adb shell” ဆိုပြီး Command Prompt မှာရိုက်ထည့်ကြည့်ပါမယ်။ 


                အခုဆိုရင် မြင်တွေ့ရတဲ့အတိုင်း Wifi Network ပေါ်ကနေပဲ USB ကြိုးမလိုပဲ ADB ကို အသုံးပြုနိုင်ပြီဖြစ်ပါတယ်။ တကယ်လို့ USB ကြိုးနဲ့ပဲပြန်လည်အသုံးပြုလိုတဲ့အခါ “adb kill-server” Command နဲ့ပဲဖြစ်ဖြစ်၊ “adb usb” ဆိုတဲ့ Command နဲ့ပဲဖြစ်ဖြစ် ပြောင်းလဲအသုံးပြုနိုင်ပါတယ်။

Popular Fastboot Commands

                Fastboot Mode ဟာအန္တရာယ်များပြီး Android အကြောင်းကိုသေချာမသိသေးတဲ့သူတွေအတွက်တော့ သတိထားပြီးစမ်းသပ်သင့်ပါတယ်။ Fastboot Mode ကိုလည်း System Partition တွေပြောင်းလဲတာနဲ့ Bootloader ကို Unlock ပြုလုပ်တာကလွဲပြီးတော့ သိပ်များများစားစားလည်းအသုံးမပြုကြပါဘူး။ ဒါပေမဲ့ Android ကိုကလိတဲ့သူတွေအနေနဲ့ အသုံးများတဲ့ Commands အချို့ကို ကျွန်တော်ရှင်းပြပေးပါမယ်။

  • “fastboot devices” - ဒီ Command နဲ့ မိမိ Android ဖုန်းရဲ့ Fastboot Mode ကို ကွန်ပျူတာက သိ/မသိ စမ်းသပ်ကြည့်လို့ရပါတယ်။ သိတယ်ဆိုရင်တော့ “adb devices” Command မှ Serial No. အတိုင်း ပေါ်လာပြီး fastboot ဆိုပြီးပြသပေးနေမှာဖြစ်ပါတယ်။ 
  • “fastboot reboot” - ဒီ Command နဲ့ မိမိ Android ဖုန်းရဲ့ Fastboot Mode ကနေပြန်ထွက်ဖို့ အသုံးပြုလို့ရပါတယ်။ နောက်ထပ်လည်း “fastboot reboot bootloader” ဆိုပြီးတော့ Fastboot Mode ကို နောက်တစ်ခါပြန်၀င်ဖို့လည်းရိုက်ထည့်လို့ရပါတယ် (သိပ်တော့အသုံးမပြုကြပါဘူး)။ 
  • “fastboot flash” - ဒီ Command နဲ့ Fastboot အတွက်ပြုလုပ်ပေးထားတဲ့ Zip ဖိုင်တွေကို “fastboot flash example.zip” ဆိုပြီး ဖုန်းထဲကို Flash ပြုလုပ်ပေးလို့ရပါတယ်။ နောက်ထပ်လည်း System, Boot, Data, Recovery Partition တွေကို .img ဖိုင်တွေနဲ့အတူ “fastboot flash system system.img”, “fastboot flash boot boot.img”, “fastboot flash data data.img”, “fastboot flash recovery recovery.img” စတဲ့ Commands တွေအသုံးပြုပြီး သက်ဆိုင်တဲ့ Partition တွေကိုပြောင်းလဲပစ်နိုင်ပါတယ် (Custom Recovery/Data/Boot/System တွေအတွက်တော့ Bootloader Unlock အရင်ဆုံးပြုလုပ်ဖို့လိုပါတယ်)။ 
  • “fastboot oem” – Fastboot OEM ဆိုတဲ့ Command ကို Bootloader Lock နဲ့ Unlock ပြုလုပ်တဲ့နေရာမှာအသုံးပြုပါတယ်။ ဒါပေမဲ့လည်း ဖုန်းရဲ့ထုတ်လုပ်တဲ့ကုမ္ပဏီအပေါ်မူတည်ပြီး ဒီ Command ကိုအသုံးပြုလို့ ရ/မရဆိုတာမသေချာပါဘူး။ “fastboot oem unlock” ဆိုရင်တော့ သာမန်အတိုင်းဆိုရင် Bootloader Unlock ဖြစ်သွားပါတယ်။ “fastboot oem lock” ဆိုရင်တော့ Bootloader ကို Lock ပြန်ချတာပါ။ 
  • “fastboot flashing” - ဒီ Command ဟာ အခုနောက်ပိုင်း Nougat Builld တွေနဲ့အထက်မှာ Bootloader Unlock ပြုလုပ်ဖို့အတွက် အသုံးပြုပါတယ်။ ဒီနေရာမှာ သတိထားရမှာက Bootloader Unlocking ဟာ Device နဲ့ Build အပေါ်မူတည်ပြီး နည်းအမျိုးမျိူးကွဲပြားတတ်ပါတယ်။ Google Pixel မှာ Bootloader Unlock လုပ်တဲ့အခါ “Developer Options” ကနေ Allow OEM Unlock ကိုဖွင့်ပြီး Fastbooot Mode မှာ “fastboot flashing unlock” ဆိုတဲ့ Command ကိုအသုံးပြုတာကိုတွေ့ရပါတယ်။
  • “fastboot help” – Fastboot နဲ့ဆိုင်တဲ့ Command List နဲ့ ရှင်းပြချက်တွေကို ကြည့်ဖို့အသုံးပြုလို့ရပါတယ်။

Troubleshooting

                တကယ်လို့သာ ADB နဲ့ Fastboot ကို အသုံးပြုလို့မရခဲ့ရင် အခုပြောပြမယ့်နည်းလမ်းလေးနဲ့ ကြိုးစားကြည့်နိုင်ပါတယ်။ 

  • အရင်ဆုံး မိမိဖုန်းကို ကွန်ပျုတာမှာ USB ကြိုးထိုးလိုက်ပါ။ ပြီးရင်ကွန်ပျုတာမှာ Device Manager ကိုခေါ်ပြီး (This PC ရဲ့ Properties ကနေပဲဖြစ်ဖြစ်၊ Start Menu Search ကနေပဲဖြစ်ဖြစ် Device Manager ကိုဖွင့်လို့ရပါတယ်) Other Devices မှာ မိမိဖုန်းနာမည် (ဒါမှမဟုတ်) Android ဆိုတဲ့ Device ကိုရှာကြည့်ပါ။


  • တွေ့ခဲ့တယ်ဆိုရင် Right Click ထောက်ပြီး Properties ကိုနှိပ်ပေးပါ။ ပြီးရင် Update Driver ဆိုတာကိုထပ်နှိပ်လိုက်ပါ။


  • Update Driver Software ဆိုတဲ့ Menu ပေါ်လာရင် Browse my computer for driver software ဆိုတာကိုထပ်နှိပ်ပေးပါ။


  • ပြီးရင် Let me pick from a list of device drivers on my computer ဆိုတာကိုထပ်နှိပ်ကြည့်လိုက်ပါ။


  • အဲ့ဒီအခါကျ List တစ်ခုကိုထပ်မံမြင်တွေ့ရမှာဖြစ်ပါတယ်။ List ထဲကမှ Android Device ဆိုတာကိုရွေးပေးပြီး Next နှိပ်လိုက်ပါ။

 

  • ဒီနေရာမှာ Fastboot ကို ကွန်ပျုတာကမသိတဲ့အခါမှာ အလယ်က Android Bootloader Interface ကိုရွေးပေးပြီး၊ ADB ကို ကွန်ပျုတာကမသိဘူးဆိုရင် Android ADB Interface ကိုရွေးပေးပြီး Next ထပ်နှိပ်ပေးပါ။


  • Update Driver Warning ပေါ်လာတဲ့အခါကျ “Yes” ကိုပဲထပ်ရွေးပေးပါ။

 

  • Windows has successfully updated your driver software လို့ပေါ်လာရင်တော့ ADB ဒါမှမဟုတ် Fastboot ကို စတင်အသုံးပြုလို့ရပြီဖြစ်ပါတယ်။ “Close” နှိပ်ပြီးပိတ်လိုက်လို့ရပါပြီ။

 

နိဂုံးချုပ်

                ဒီလောက်ဆိုရင်တော့ ADB နဲ့ Fastboot ကိုဘယ်လိုအကျွမ်းတ၀င်အသုံးပြုရမယ်ဆိုတာကို နားလည်သဘောပေါက်ကြလိမ့်မယ်လို့ မျှော်လင့်ပါတယ်။ ADB နဲ့ Fastboot ကိုအကျွမ်းတ၀င် သိရှိထားမယ်ဆိုရင် Android ဖုန်းကို ကွန်ပျုတာနဲ့ချိတ်ဆက်ပြီး File Transfer လုပ်တာအပြင် တခြား Function တွေအများကြီးပြုလုပ်လို့ရသေးတယ်ဆိုတာကို အခြေခံအနေနဲ့ နားလည်သွားကြလိမ့်မယ်လို့လည်း မျှော်လင့်မိပါတယ်။ 

References
XDA Developers Guide Beats
About Author
Assinged Tags
Android Windows PC Software Android Tablet How To Android Phone How It Works Fastboot ADB Android Debugging Bridge Android Tricks ADB with PC
Categorized Under
Features

Join Us On

Facebook
YouTube
Twitter
GooglePlus
TechX RSS Feed