Kod:
public void RunAsRoot(String[] cmds) {
Process p;
try {
p = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(p.getOutputStream());
for (String tmpCmd : cmds) {
os.writeBytes(tmpCmd + "\n");
}
os.writeBytes("exit\n");
os.flush();
} catch (IOException e) {
e.printStackTrace();
}
Polecenie:
private void install()
{
String[] commands = {"sysrw", "rm /system/priv-app/Mms.apk" "cp /sdcard/unicode/system/priv-app/Mms.apk /system/priv-app/Mms.apk", "chmod 644 /system/priv-app/Mms.apk", "sysro"};
RunAsRoot(commands);
}
Problem polega na tym, że wszystko zaczyna działać dopiero jak sam manualnie przełączę R/O na R/W, ale ciekawsze jest, że jak wrócę zaraz na R/O to też działa, a po restarcie telefonu znowu to samo.