我需要将 android 文件系统重新挂载为读写而不是只读。我知道如何通过命令提示符进行操作,也知道如何进行应用程序开发。
但是我正在调整android源代码,如果我使用
Process proc=Runtime.getRuntime.exec("su");
这没用。因此我需要使用android.os.process
相同的对象,我被困在这里,任何人都可以帮助我。
我需要将 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,将其嵌入到源中,并从您的应用程序中调用它。