Android - 普通裝置和 root 裝置上的權限差異是什麼

Android - 普通裝置和 root 裝置上的權限差異是什麼

我有兩部安卓手機,一部已經root,另一部沒有。當我在兩部手機上運行以下程式碼而不請求 root 權限時,

system("echo \"abc\" > /data/a.txt\n");

root 後的手機回傳錯誤 2 (512);普通電話回傳錯誤1(256,權限被拒絕)。所以我的問題是,是什麼造成了這種差異。

答案1

至少在我的桌面Linux系統上,errno 2是ENOENT,也就是沒有這樣的檔案或目錄。您可以使用命令找到errno答案(儘管您的手機上可能沒有該命令)。

這可能意味著您的手機上沒有 /data(這很奇怪)。當我在 shell 中嘗試(不是在 C 程式中,正如您所做的那樣)時,我的 root 手機(Galaxy Nexus,運行股票 Jelly Jean 4.2.2)給出了權限被拒絕

我建議ls -ld /data開始,也許也which echo看看那裡是否有什麼不同。或者你可能沒有 shell;有效嗎system("true")

相關內容