2012-04-02 2 views
2

これは数回尋ねられましたが、完全に答えられたことはありません。ルーツアンドロイド - ルート所有のディレクトリにあるファイルを作成して読む

私の電話は根付いています。

私がする必要があるのは、ルート所有ディレクトリ(例えば、/data)の下でファイルを読み書きすることです。スーパーユーザー(Runtime.getRuntime().exec("su");)が必要です。しかし、私はどのようにIOを自分自身を行うかを把握することはできません。

+0

私が間違っている場合は私を修正しますが、必要なすべてのアクセスが必要なようです。あなたは、あなたのファイルが入っているファイルを提供したり、Java IO APIを使って読み書きすることができます。 – Kavitha

+1

私はそれがかなり簡単だとは思わない。私は何とかスーパーユーザー権限をIO呼び出しに渡す必要があります。 – Paramount

答えて

3

su -c cp /data/file.txt /mnt/sdcardのようなものを使用してファイルをSDカードにコピーし、読み終えたら削除してください。

+2

私のアプリでは、読みたいファイルのコピーを作成する意味がないので、この回答の代替案を探しています。そのファイルは実際にはデバイス "/ dev/..."であるためです。私はそれをJavaストリームとして読みたい。デバイスは根付いています。 –

+2

chmodを使用して権限を変更するか、またはudevなどのスクリプトを変更して権限を永続的に変更します。他のアプリがそれを読むことができないようにしたいのであれば、ややこしいことになります。 –

+0

これは1つのオプションです。しかし、このプロセスから取得した "root権限"を持つストリームをJavaで持つ方法はありません。Runtime.getRuntime()。exec( "su")そしてパイプ(例えば、ファイルiのストリームそのストリームを通して、/ dev /に欲しい?) –

関連する問題