1

-vtime オプションで logcat を使用する ICS (4.0.3) 上のアプリケーションがあります。次のコードを使用して logcat を読み取ります。

try {
  Process process = Runtime.getRuntime().exec("logcat -vtime -d");
  BufferedReader bufferedReader = new BufferedReader(
  new InputStreamReader(process.getInputStream()));
  String line = "";

  while ((line = bufferedReader.readLine()) != null) {
      ... my stuff with this line...
} 
catch (IOException e) {
}

マニフェストファイルで「android.permission.READ_CALL_LOG」と「android.permission.READ_LOGS」を使用し、完全なlogcatを管理しています。

このコードを JellyBean (4.1.1) で使用すると、バッファーはアプリの logcat のみをキャッチし、デバイス全体の logcat はキャッチしません。

この完全な logcat を取得するにはどうすればよいですか? 別の許可ですか?

4

1 に答える 1

0

JellyBean (4.1.1) は、サード パーティ アプリケーションに完全なシステム logcat へのアクセスを許可しません。アプリケーションは、独自のログ行のみを表示できます。AndroidManifest.xml で READ_LOGS パーミッションを付与する必要はもうないと思います (どのアプリでも独自の行をログに記録できます)。

https://groups.google.com/forum/?fromgroups=#!topic/android-developers/6U4A5irWang

それでも完全な logcat を読みたい場合は、デバイスをルート化し、アプリケーションへのスーパーユーザー アクセスを許可する必要があります。

于 2013-03-05T16:38:46.930 に答える