我需要将android文件系统重新安装为读写而不是只读。我知道如何通过命令提示符来完成它,以及如何进行应用程序开发。
但我正在调整android源代码,如果我使用
Process proc=Runtime.getRuntime.exec("su");
它不起作用。因此我需要使用android.os.process
对象,我被困在这里任何人都可以帮助我。
答案 0 :(得分:0)
尝试使用此代码获取超级用户访问权限(您需要安装超级用户的 rooted phone ):
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
命令。
答案 1 :(得分:0)
实际上,很难理解你打算做什么。但是如果你正在调整android源码(aosp),那么你将更容易修改init.rc
(在system / core / rootdir下)文件以获得系统映像rw。如果要在运行时更改状态,则需要创建自己的本机应用程序(例如,查看run-as命令),在其中更改进程的uid,将其作为suid,将其嵌入到源代码中,并从您的应用程序中调用它。