You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已Root的WearOS设备调用su仍权限被拒,求解决方案

解决方案
  • 检查SU管理器配置
    多数Root的WearOS依赖Magisk这类SU管理器,先确认SU管理器正常运行:

    • 通过adb shell su手动验证Root权限是否可用,若弹出授权请求则说明SU管理器正常。
    • 打开SU管理器,找到你的测试应用,设置为自动授权或手动授予Root权限,避免应用调用su时无授权入口。
  • 指定su的完整路径调用
    系统PATH可能未包含/system/xbin,导致直接调用su找不到可执行文件,修改代码为:

    val su = Runtime.getRuntime().exec("/system/xbin/su")
    val outputStream = DataOutputStream(su.outputStream)
    

    可先通过adb shell echo $PATH确认/system/xbin是否在PATH列表中。

  • 临时关闭SELinux
    SELinux可能拦截应用对su的调用,执行以下命令临时关闭(重启后恢复):

    adb shell setenforce 0
    

    此操作仅适合原型测试场景,生产环境不建议使用。

  • 临时调整应用权限(风险较高,仅测试用)
    若应用UID不在允许调用su的用户组,可尝试:

    1. 通过adb shell ps | grep com.your.package.name获取应用的运行UID/GID
    2. 执行命令调整应用目录权限:
      adb shell chown root:shell /data/app/com.your.package.name-*/base.apk
      adb shell chmod 777 /data/app/com.your.package.name-*/base.apk
      

    调整后重启应用测试。

  • 替代方案:直接通过adb执行Root命令
    原型测试阶段可绕过应用内su调用,直接用adb执行需要的Root操作:

    adb shell su -c "your_root_command_here"
    

内容的提问来源于stack exchange,提问作者penitent_tangent

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 18:57:19