ADB Remount
概要
在「Android OS」目錄下,它有著許多資料夾,其各自有該功能,如下:
其中,有個目錄為「system」,它存放著許多與系統相關的重要檔案,在預設的情況下,它是「唯讀」的;而「adb remount」指令功能就是將之更改為「讀寫」的模式。
事實上,「adb remount」等於下述指令:
adb shell mount -o rw,remount,rw /system
備註:「adb remount」僅適用於取得「Root」權限的設備。
正文
取得「Root」權限
沒什麼好說的,必要的一個步驟,沒「Root」什麼都免談,如下:
輸入下述指令以取得「Root」權限:
adb root
結果如下圖:
關閉「Verity」功能
貌似是在「Android O」之後新增的限制,可以參考「此文」,總之,若在直接取得「Root」後直接「adb remount」,則顯示如下圖:
所以,我們需要關閉「Verity」的功能,指令如下:
adb disable-verity
但是,可能會得到「Device is locked.」的結果,如下:
這是因為「OEM Lock」的機制,在部份裝置,該功能可以在「開發者選項」中進行開關,但部份裝置,該項目在「開發者選項」中是被隱藏的。
其詳細資訊可以參考「Flashing Devices」。
若在「開發者選項」中沒有找到「OEM Lock」,則我們可以藉由「指令」的的操作,首先,我們要進入「bootloader mode」,如下:
adb reboot bootloader
在進入「bootloader mode」後,再輸入「解鎖指令」,如下:
fastboot flashing unlock
結果如下圖:
接著確認狀態,指令如下:
fastboot getvar unlocked
如果有成功解鎖,則會顯示「YES」,如下:
接著,輸入重開機的指令,如下:
fastboot reboot
結果如下:
等待開機完成後,就可以下關閉「Verity」的功能,但別忘了,因為有重啟的動作,因此「Root」權限必須重新取得,指令如下:
// 取得 Root 權限
adb root// 關閉 Verity 功能
adb disable-verity
結果如下:
然後,重新啟動設備,指令如下:
adb reboot
啟動「Remount」功能
輸入指令來開啟「/System」下的「寫入」功能,同樣別忘了重啟後必須重新取得「Root」權限,指令如下:
// 取得 Root 權限
adb root// 開啟Verity 功能
adb remount
結果如下:
總結
就是個筆記。
由於「Android」不斷的在演進,如增加新的功能、API,或是淘汰不適合的機制等,其中改動最明顯無非是在「安全性、隱私」的部份。
整體而言,進步是好的,更是必須的,但對於開發者環境而言,就會造成網路資源凌亂且多為無效、過時等;就大環境而言,我們無力改變,但就個人而言,維持的學習的習慣,並整理屬於自己筆記,是最好的應對手段。