Root

Android - 普通設備和有根設備的權限差異是什麼

  • April 12, 2013

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

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

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

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

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

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

引用自:https://unix.stackexchange.com/questions/72246