又到了一年一度瞎吹逼实际上是以后给自己查东西用的时候了
其实是篇半脑补半翻译文档(?)
检查 SU
if (RootTools.isRootAvailable()) {
// 当存在 SU时执行以下代码
} else {
// 当不存在 SU时执行以下代码
}
需要注意的是,上面的代码仅会判断是否存在 SU,但不会判断 APP 是否被授予了 Root 权限,需要判断 Root 权限是否授予 APP 需要以下代码:
if (RootTools.isAccessGiven()) {
// 应用被授予 Root 权限
}
执行 shell 指令
Command command = new Command(0, "echo this is a command", "echo this is another command");
try {
RootTools.getShell(true).add(command);
}catch (IOException | RootDeniedException | TimeoutException ex) {
ex.printStackTrace();
}
原文还提到,如果需要返回执行 shell 指令后的 log,可以用以下代码:
Command command = new Command(0, "echo this is a command", "echo this is another command")
{
@Override
public void commandOutput(int id, String line) {
super.commandOutput(id, line);
}
@Override
public void commandTerminated(int id, String reason) {
super.commandTerminated(id, reason);
}
@Override
public void commandCompleted(int id, int exitcode) {
super.commandCompleted(id, exitcode);
}
};
RootTools.getShell(true).add(command);
共有 0 条评论