首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法运行程序"su ":error=13,安卓应用程序中权限被拒绝

无法运行程序"su ":error=13,安卓应用程序中权限被拒绝
EN

Stack Overflow用户
提问于 2021-01-14 13:54:57
回答 1查看 314关注 0票数 0

我的DHCP方法返回flase。从val进程获取错误: Process =Runtime.getRuntime().exec(commands)“此行

在此处输入代码//DHCP设置function>>

代码语言:javascript
复制
suspend fun dhcpSetup(): Boolean {
    var success = true
    success = success && runRootCommand("echo 1 > /proc/sys/net/ipv4/ip_forward")
    success = success && runRootCommand("iptables -F")
    success = success && runRootCommand("iptables -t nat -A POSTROUTING  -j MASQUERADE")
    success = success && runRootCommand("iptables -A FORWARD -j ACCEPT")
    success = success && runRootCommand("iptables -t nat -A PREROUTING  -p udp --dport 53 -j DNAT --to-destination 8.8.8.8:53")
    success = success && runRootCommand("iptables -A FORWARD -p udp -d 8.8.8.8 --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT")
    return success
}

//命令执行Function>>>

代码语言:javascript
复制
private suspend fun runRootCommand(command: String): Boolean {
    val commands = arrayOf("su", "-c", command)
    val start: Long = System.currentTimeMillis()
    val process: Process = Runtime.getRuntime().exec(commands)
    val result = process.waitFor()
    val end: Long = System.currentTimeMillis()
    Log.d("RootManager", "Command ${Arrays.toString(commands)} executed in ${end - start} ms " +
            " with result $result")
    return result == 0
}
EN

回答 1

Stack Overflow用户

发布于 2021-01-14 19:04:43

su意味着超级用户,这些命令仅适用于具有更高权限和一些扩展API访问权限的根单元。无根=无su执行可能性(在大多数情况下,设备上根本没有su执行器)

顺便说一句。即使你的方法名中也有"root“...runRootCommand

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65714068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档