ADB Remount

Android:Android APPs

RICK
Dec 15, 2020

概要

在「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,或是淘汰不適合的機制等,其中改動最明顯無非是在「安全性、隱私」的部份。

整體而言,進步是好的,更是必須的,但對於開發者環境而言,就會造成網路資源凌亂且多為無效、過時等;就大環境而言,我們無力改變,但就個人而言,維持的學習的習慣,並整理屬於自己筆記,是最好的應對手段。

--

--

RICK
RICK

Written by RICK

當遇到重開機無法解決的 BUG 時,那就試試關機吧。

No responses yet