Android 学习笔记 [3]:利用 RootTools 工具包执行简单操作

hjthjthjt 11月 18, 2018

又到了一年一度瞎吹逼实际上是以后给自己查东西用的时候了

其实是篇半脑补半翻译文档(?)

检查 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);

本文采用 CC BY-NC-SA 3.0 协议进行许可,在您遵循此协议的情况下,可以自由共享与演绎本文章。
本文链接:https://jakting.com/archives/android-learn-2-roottools.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注