【发布时间】:2014-04-01 15:58:24
【问题描述】:
嗨,我的应用程序使用 su 在 android root 中运行一些命令。
它在 Galaxy Nexus 上的 JellyBean 中运行良好,但是当我尝试在 LG Nexus 5 (kitkat) 上运行它时,我收到一条错误消息:
su: uid 10069 不允许 su
我不确定我在这里缺少什么。我有 root 访问权限(它在 Galaxy Nexus 上运行良好)。
基本上,应用程序从 TextEdit 中读取命令,剥离它,附加必要的参数等,然后调用放在手机上的脚本。我使用 ProcessBuilder 来构建脚本的调用。
任何关于我应该看哪里的修复或想法将不胜感激。谢谢
【问题讨论】:
-
这看起来很像旧 Android 版本上的 stock
su总是提供的错误消息,因为 从未打算允许非特权用户运行特权任务。但是我认为 Androidsu的股票在 kitkat 之前就消失了。另一种可能性是您确实有一个可用的“被黑”su,除非您的人类用户拒绝授权您的应用程序使用它(或者它的授权方法被破坏,例如,可能是提供授权的应用程序用户界面丢失)。该设备是否真的(并且完全)植根? -
是的,我一直在研究这个问题,这就是我目前所拥有的。当我使用 adb shell 命令访问电话(Nexus 5)时,我可以运行“su”命令,但是当我尝试在终端仿真器应用程序上使用“su”命令时,它给了我 uid 错误。终端模拟器适用于 Galaxy Nexus
-
您的问题相当不完整。设备是否真正植根?它上面的任何其他应用程序都可以使用
su吗?你可以从 adb shell 中使用它吗? -
是的,就像我说的,adb shell 可以工作,但其他应用程序(如终端模拟器)不能工作。我假设我必须更换 su?
-
您的设备上究竟安装了什么?如果您有 kitkat 的用户构建,则不会有 /system/xbin/su,但如果您有工程构建,则可能有一个,它不能被应用程序使用。否则你有一些 3rd 方黑客,来源和属性未知。
标签: android root android-4.4-kitkat su android-4.2-jelly-bean