3
process = Runtime.getRuntime().exec("su");
os = new DataOutputStream(process.getOutputStream());
os.writeBytes(command + "\n");
os.writeBytes("exit\n");
os.flush();
process.waitFor();

系统说:"07-06 11:01:34.337: I/System.out(3864): su: uid 10170 not allowed to su"

我在终端中执行“adb root”

:~/android/android-sdk/platform-tools$ ./adb root

adbd is already running as root

有任何想法吗?

4

3 回答 3

1

看起来您的 adb 以 root 身份运行,但您只有库存的“su”工具。您可以使用 adb 将其替换为您选择的自定义之一。

要么,要么你有一个定制的,它被配置为不允许你在这个应用程序用户ID下运行——在这种情况下,你需要打开它的配置工具并改变它。

请注意- 这是对一个老问题的答案-由于采用 SELinux,传统的最终用户 Android 版本无法使用传统的 Android 版本,因此已经有几个 Android 版本。解决方法远远超出了这个问题的范围。su

于 2012-07-06T03:47:19.150 回答
0

如果您被系统拒绝root,除了root设备之外您无能为力。

于 2012-07-06T03:40:27.940 回答
0

也许您应该尝试如何获得 root 访问权限并执行

于 2012-07-06T03:42:44.767 回答