簡體   English   中英

無法運行程序“su”:錯誤=13,Android 應用程序中的權限被拒絕

[英]Cannot run program "su ": error=13, Permission denied in Android Application

我的 DHCP 方法返回 flase。 從 val 進程中獲取錯誤:Process =Runtime.getRuntime().exec(commands)”這一行

在此處輸入代碼 //DHCP 設置功能>>

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
}

//命令執行函數>>>

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
}

su表示超級用戶,這些命令僅適用於具有更高權限和一些擴展 API 訪問權限的根單元。 沒有 root = 沒有su執行的可能性(在大多數情況下,設備上根本沒有su執行程序)

順便提一句。 甚至你的方法名稱中都有“root”...... runRootCommand

android9.0,有root,但APP不是系統級無法運行程序“su”:error=13, Permission denied

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM