Android - 一般的なデバイスとルートされたデバイスの権限の違いは何ですか?

Android - 一般的なデバイスとルートされたデバイスの権限の違いは何ですか?

私は2つのAndroid携帯電話を持っていますが、1つはルート化され、もう1つはルート化されませんでした。ルート権限を要求せずに両方の電話機で次のコードを実行すると、

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

ルーティングされた電話機はエラー2(512)を返し、通常の電話機はエラー1(256、許可されていません)を返します。だから私の質問は、これらの違いの原因は何ですか?

答え1

少なくとも私のデスクトップLinuxシステムではerrno 2があり、そのファイルENOENTやディレクトリはありません。コマンドを使用して確認できますerrno(携帯電話では使用できない可能性があります)。

これはおそらく携帯電話に/ dataがないことを意味します(異常ですね)。私のルーティングされた携帯電話(Galaxy Nexus、在庫Jelly Jean 4.2.2を実行)でシェル(Cプログラムではなく)で試してみると、権限が拒否されます。

私はls -ld /data始めて、which echoそこに何か他のものがあることを確認することをお勧めします。または、シェルがない可能性があります。動作しますかsystem("true")

関連情報