【问题标题】:Running su on Android root在 Android 根目录下运行 su
【发布时间】: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 总是提供的错误消息,因为 从未打算允许非特权用户运行特权任务。但是我认为 Android su 的股票在 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


【解决方案1】:

问题是 SuperSu 没有正确安装和授予应用程序权限。一旦我更改,就没有权限问题。

【讨论】:

    【解决方案2】:

    如果您在 root 超级用户时遇到问题。

    您可以使用“run-as”命令访问应用程序的文件。

    例如:run-as com.your.package

    它会将您带到 shell@android:/data/data/com.your.package $

    现在你可以使用命令ls 然后会显示文件夹列表

      cache
      databases
      lib
      shared_prefs
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 2012-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多