3

のようなファイルは/dev/log/main/dev/input/event*常に OS によって保持されます。ファイルを cat すると、ファイルの末尾が表示されず、新しい単語が「cat」の結果に継続的に追加されます。

そのようなファイルを開くために使用new FileInputStreamすると、常に許可が拒否されたと応答します(おそらく、前述のように他の目的で使用されているためです)。のようなファイルに対する許可は拒否されません/proc/cpuinfo

そのようなファイルを読み取る方法はありますか? からのユーザー入力があるかどうかを知りたいです /dev/input/event*

4

2 に答える 2

1

/data/local 以外の Android 上のほとんどのファイルを表示するには、root 権限が必要です。デバイスのデフォルトの bin コマンドが何であるか思い出せませんが、BusyBox をインストールすると、ディレクトリで ls -l を実行して、ファイルへのアクセスに必要なアクセス許可のリストを取得できます。

ほとんどの場合、使用しているデバイスをルート化する必要があります。これにより、「su」コマンドが bin ディレクトリに追加され、ルート シェル アクセスを取得できるようになります。

これを行うことに決め、プログラムで機能する必要がある場合は、プロジェクトに含めることができるシェル インターフェイス クラスを次に示します。

これが洞察を与えるのに役立つことを願っています。

https://github.com/jjNford/android-shell

于 2012-04-21T20:23:14.003 に答える
0

Linux は、Windows とは異なり、他のプロセスが開いているという理由だけでファイルをロックしません。HTC Desire でシェルを開いて、以下を確認しました。

$ ls -l /dev/input
crw-rw---- root     input     13,  73 2012-03-02 19:19 event9
crw-rw---- root     input     13,  72 2012-03-02 19:19 event8
(etc)

ご覧のとおり、これらのファイルは、ユーザー「root」とグループ「input」のみが読み書きできます。

/proc/cpuinfo などのファイルは、カーネルによってプロセスに提供される情報が含まれているため、意図的に誰でも読み取り可能です。実際、/proc 内のファイルはどれも実際のファイルではありません。/proc 全体は、ディスク上ではなく、カーネル内にのみ存在するエントリで構成されています。

于 2012-04-22T05:25:10.773 に答える