แอป Android ส่วนใหญ่ขอสิทธิ์พื้นฐานอย่างที่เก็บข้อมูล (storage) หรือกล้อง (camera) ได้ง่าย แต่บางแอปต้องการ สิทธิ์ระดับระบบ (system-level permissions) เพื่อทำงานเต็มที่
แทนที่จะรูท (root) โทรศัพท์ซับซ้อนและอาจไม่จำเป็น สามารถ ให้สิทธิ์ขั้นสูงผ่านคำสั่ง ADB** ได้
บทความนี้จะอธิบาย ADB คืออะไร และวิธีใช้ให้สิทธิ์บน Android
Android Debug Bridge (ADB) คืออะไร?
บน Android ผู้ใช้ทั่วไปมักไม่ทำงานที่ระบบป้องกันได้ เช่น ลบแอปติดตั้งมาก่อน (bloatware) โดยไม่ใช้เทคนิคขั้นสูง เช่น แก้ไขไฟล์ระบบผ่าน rooting ADB (Android Debug Bridge) จึงเข้ามาช่วย
ADB เป็นเครื่องมือบรรทัดคำสั่ง (command-line tool) ให้เชื่อมต่ออุปกรณ์ Android กับคอมพิวเตอร์ เพื่อทำงานที่ต้องการ root
สามารถใช้คำสั่ง ADB ที่มีประโยชน์หลายอย่าง: ลบแอประบบ ติดตั้ง APK ดึง system logs ให้สิทธิ์เพิ่มเติมแก่แอป และอื่นๆ
วิธีให้สิทธิ์ผ่าน ADB
ก่อนใช้คำสั่ง ต้องตั้งค่าการเชื่อมต่อ ADB กับอุปกรณ์ ใช้ Windows, Mac หรือ Linux แทบไม่ต่างกัน เพราะคำสั่ง ADB เหมือนกันทุก OS
แต่ผู้ใช้ Windows ใช้ PowerShell ส่วน Mac และ Linux ใช้ Terminal หรือ Shell รันคำสั่ง ADB
1. ดาวน์โหลด SDK Platform-Tools
ไปที่เว็บไซต์ Android Developers ดาวน์โหลดไฟล์ SDK Platform-Tools สำหรับ OS ของคุณ
2. แตกไฟล์ ZIP
ขั้นตอนนี้สำหรับ Windows เท่านั้น Mac/Linux ข้ามไปขั้นต่อไป
หากใช้ Windows ไปที่โฟลเดอร์ที่ดาวน์โหลด ZIP แตกไฟล์ แล้วคลิกโฟลเดอร์ platform-tools หนึ่งครั้ง (อย่าดับเบิลคลิก)
3. เปิด PowerShell หรือ Terminal
บน Windows กด Alt แล้วพิมพ์ F, S, A ทีละตัว (ลำดับ) จะเปิด PowerShell เป็น Administrator
บน Linux/Mac เปิด Terminal ในโฟลเดอร์เดียวกับที่เก็บเนื้อหาโฟลเดอร์ platform-tools
4. เปิดใช้งาน Developer Options
ต้องเปิด Developer Options บนสมาร์ทโฟน หากยังไม่ได้ เปิด ตั้งค่า > เกี่ยวกับโทรศัพท์ แตะ Build number 7 ครั้ง
หากขอรหัสผ่าน ให้ใส่รหัสล็อกหน้าจอ
5. เปิด USB Debugging และเชื่อมโทรศัพท์
เข้า Developer Options เปิด USB debugging แตะ OK หากมีป๊อปอัป แล้วเชื่อมโทรศัพท์กับคอมพิวเตอร์ด้วยสาย USB
6. ยืนยันการเชื่อมต่ออุปกรณ์
พิมพ์คำสั่งด้านล่างใน PowerShell หรือ Terminal เพื่อตรวจสอบการเชื่อมต่อ:
.\adb devices
หากไม่เห็นหมายเลขซีเรียลเฉพาะของอุปกรณ์หลังพิมพ์คำสั่ง แสดงว่ามีปัญหา من جهتคุณ เกิดจาก PC ไม่ตรวจพบ ADB drivers บนอุปกรณ์
แก้ไขโดยดาวน์โหลดและติดตั้ง universal drivers จากเว็บ ClockworkMod หรือดาวน์โหลด ADB installer ล่าสุดจากกระทู้ XDA forum
หากยังไม่ได้ ตามคำแนะนำในคู่มือแก้ไขปัญหาเชื่อมต่อ ADB บน Windows
7. อนุญาต USB Debugging
หากใช้คำสั่ง ADB ครั้งแรก หลังขั้นตอน 6 จะมีป๊อปอัปบนโทรศัพท์ถามว่าต้องการ Allow USB debugging ให้ติ๊ก Always allow from this computer แล้วแตะ Allow
8. ใส่คำสั่ง ADB
พิมพ์คำสั่งต่อไปใน PowerShell หรือ Terminal:
.\adb shell
สุดท้าย ใช้คำสั่งนี้เพื่อให้สิทธิ์แก่แอปใดๆ ผ่าน ADB:
pm grant <package-name> <permission>
แทนที่ <package-name> ด้วยชื่อแพ็กเกจของแอป และ <permission> ด้วยสิทธิ์ที่ต้องการ หากหา package name ไม่เจอ ดาวน์โหลด Package Name Viewer 2.0 ค้นหาแอปที่ต้องการสิทธิ์ขั้นสูง ตัวอย่างเราจะให้สิทธิ์แอป Battery Guru
เช่น ตัวอย่างด้านล่าง com.paget96.batteryguru คือ package name และ android.permission.PACKAGE_USAGE_STATS คือสิทธิ์ ใช้ค้นหา BatteryGuru และให้สิทธิ์เข้าถึงข้อมูลการใช้งานและสถิติ
pm grant com.paget96.batteryguru android.permission.PACKAGE_USAGE_STATS
อีกตัวอย่าง หากอยากใช้ Naptime โดยไม่รูท ใส่คำสั่งต่อไปเพื่อให้สิทธิ์ที่ต้องการ:
pm grant com.franco.doze android.permission.DUMP
pm grant com.franco.doze android.permission.WRITE_SECURE_SETTINGS
ควบคุม Android ได้มากขึ้นด้วย ADB
ไม่ต้องสงสัย ADB เป็นเครื่องมือยอดเยี่ยมหลายอย่าง ไม่เพียงช่วยให้สิทธิ์แอป แต่ยัง สำรองข้อมูลระบบโดยไม่ต้อง root** ได้อีกด้วย
เมื่อคุณลองเจาะลึกพลังของ ADB คุณจะเริ่มเข้าใจและเพลิดเพลินกับความหลากหลายของสภาพแวดล้อม Android