2

我需要将 android 文件系统重新挂载为读写而不是只读。我知道如何通过命令提示符进行操作,也知道如何进行应用程序开发。

但是我正在调整android源代码,如果我使用

Process proc=Runtime.getRuntime.exec("su"); 

这没用。因此我需要使用android.os.process相同的对象,我被困在这里,任何人都可以帮助我。

4

2 回答 2

0
  1. 试试这个代码来获得超级用户访问权限(你需要一个安装了超级用户的手机):

    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");
    }
    
  2. 拥有超级用户访问权限后,您可以adbd使用以下命令开始侦听某个 TCP 端口:

    setprop service.adb.tcp.port 5555
    adbd &
    setprop service.adb.tcp.port -1
    
  3. 打开与所选端口的 TCP 连接并发出remount命令。

于 2012-05-10T07:55:30.913 回答
0

实际上,很难理解你要做什么。但是,如果您正在调整 android 源 (aosp),那么修改init.rc(位于 system/core/rootdir 下)文件以获取系统映像 rw 会更容易。如果要在运行时更改状态,则需要创建自己的本机应用程序(例如,查看 run-as 命令),在其中更改进程的 uid,将其设为 suid,将其嵌入到源中,并从您的应用程序中调用它。

于 2012-05-10T08:45:01.237 回答