Java 以编程方式检查I';我植根于安卓系统?
这似乎有效,但我不是积极的,因为我的测试能力有限(仅限于AVD)。我想出了这个算法来检查我是否有根。你认为它会一直有效吗?我不相信Java 以编程方式检查I';我植根于安卓系统?,java,android,Java,Android,这似乎有效,但我不是积极的,因为我的测试能力有限(仅限于AVD)。我想出了这个算法来检查我是否有根。你认为它会一直有效吗?我不相信 private boolean isRooted() { try { Process process = new ProcessBuilder() .command("/system/bin/su") .redirectErrorStream(false) .start(
private boolean isRooted() {
try {
Process process = new ProcessBuilder()
.command("/system/bin/su")
.redirectErrorStream(false)
.start();
} catch (IOException e) {
return false;
}
return true;
}
可能有很多手机都有root访问权限,但没有安装su。这不是foolproof@nandeesh我明白你在说什么。我看到了,但我想要更直观的东西。我想可以。从代码中执行
id
shell命令怎么样?。或者您可以尝试写入/system目录。通常只允许root用户这样做。@Michael我不知道id
shell命令。那就行了。似乎是的。像这篇文章一样,你无法检测到根。但是大多数生根方法都应该由您所指向的对象来检测。如果您使用非测试密钥构建自己的代码,然后使ro.secure=0或service.adb.root和ro.debugable,那么adb shell也将为您提供root访问权限。然后您就可以通过在中运行这个来提供root访问