web-dev-qa-db-ja.com

Android logcatにログを記録しないことは何ですか?

Androidアプリはログをファイル(通常は " logcat "と呼ばれます)に書き込みます。これは、開発者だけでなく、問題を調査したいユーザーにも非常に役立ちます。 Facebook、Gmail、Whatsapp、または他のほとんどのアプリを開くたびに、何百行もlogcatに書き込まれることが簡単にわかります。

最近のすべてのAndroid=バージョンでは、logcat行はそれを記述したアプリと人間のユーザーにのみ表示されます(何かが正確でない場合は修正してください)。

開発者として、logcatへの出力を絶対にしないにはどうすればよいですか?

  • ユーザーが開くダイアログ
  • ユーザーの言語選択
  • アクセスしたURL
  • ソフトウェアのバージョン
  • ユーザー設定
  • WiFi名
  • ユーザーのニックネーム
  • 現在のジオロケーション
  • クレジットカード番号
  • パスワード

制限をどこに置くか?含まれている場合、どの情報が脆弱性と見なされますか?
実際、logcatにWiFi名がよく見られます。

コンテキスト:数千人のユーザーしかいない小さなオープンソースの重要ではないアプリで、その多くはバグレポート(logcatを含む)を送信したり、デバッグを手伝ったりさえします。テストする時間があまりありません。

2
Nicolas Raoul

開発者として、logcatに出力すべきでないものは何ですか?

releaseビルドはLogCatに何も出力しないはずです。

結局のところ、LogCatに情報を書き込むと、ユーザーにゼロの値が追加されます。 CPUとバッテリーのコストは最小ですが、最小はまだゼロを超えているため、コストは(非)値を正当化しません。あなたがユーザーである場合(またはユーザーがAndroid開発者)である場合を除き、ユーザーのLogCatデータにアクセスできません。

副次的な利点として、releaseビルドのLogCatに何もログを記録しない場合、個人情報やセキュリティデータがLogCatにリークされることはありません。

1
CommonsWare