我需要重新安裝android文件系統作爲讀取而不是隻讀。我知道如何通過命令提示符來做到這一點,以及如何去做應用程序開發。通過java重新安裝Android文件系統
但我進入調整的Android源代碼,有,如果我使用
Process proc=Runtime.getRuntime.exec("su");
它亙古不變的工作。因此,我需要使用android.os.process
對象,並且我卡在這裏任何人都可以幫助我。
我需要重新安裝android文件系統作爲讀取而不是隻讀。我知道如何通過命令提示符來做到這一點,以及如何去做應用程序開發。通過java重新安裝Android文件系統
但我進入調整的Android源代碼,有,如果我使用
Process proc=Runtime.getRuntime.exec("su");
它亙古不變的工作。因此,我需要使用android.os.process
對象,並且我卡在這裏任何人都可以幫助我。
試試這個代碼來獲得超級用戶權限(你需要一個紮根電話具有超級用戶安裝):
try {
// Perform su to get root privledges
Process p = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(p.getOutputStream());
os.writeBytes("<..... here you may write commands ....>\n");
// Close the terminal
os.writeBytes("exit\n");
os.flush();
} catch (IOException e) {
toastMessage("not root");
}
一旦你擁有超級用戶權限,就可以開始adbd
聽一些TCP端口使用:
setprop service.adb.tcp.port 5555
adbd &
setprop service.adb.tcp.port -1
打開到選定端口的TCP連接併發出remount
命令。
實際上,很難理解你要做什麼。但是,如果你正在調整android源代碼(aosp),那麼修改init.rc
(在system/core/rootdir下)文件以獲取系統映像rw會更容易。如果要在運行時更改狀態,則需要創建自己的本機應用程序(例如,查看run-as命令),在其內部更改進程的uid,將其作爲suid,將其嵌入到源中,並從您的應用程序中調用它。
我需要建立一個自定義的ROM。我不必更改init.rc,因爲它會被讀取寫入所有的時間。爲了實現某個用例,我想將它作爲讀寫裝入PackageServiceManager.java,然後恢復爲只讀狀態。其實我需要編輯系統/應用程序目錄中的apks。因此,我需要讀寫。 – CodeGuru
然後,按照我的答案的第二部分。創建你的Android源並調用這個應用程序。 – Yury