Android デバイスにデバッグ ツールが接続されているかどうかを検出したいと考えています。アプリが人に公開されたときに誰もログを見られないように、この機能が欲しいです。
よろしく。
PS:
アプリを微調整するのに役立つので、本番環境でもログを書きたいのですが、他の人に見られたくないのです。
システムアプリケーションでないと、USBデバッグが接続されているか有効になっているかを検出できません。しかし、私たちはあなたの問題を解決する方法について話すことができます。アプリが公式のマーケットリリースにログオンしたくない場合は、いくつかの許容可能な方法があります。
条件付きでログに記録します。このようにすべてのログメッセージをラップします。
if (DEBUG) Log.d(...);
公式マーケットAPKを作成する前DEBUG
に、コードでfalseに設定してください。これを行うためのもう少し良い方法は、Androidのロガーの周りにラッパーメソッドまたはクラスを追加することです。たとえば、次のようなメソッドを記述します。
void d(String msg) {
if (DEBUG) Log.d(msg);
}
プロガードを使用します。 proguardは、コンパイル後にバイトコードを操作するツールです。これを使用して、コードからすべてのログを削除できます(特に)。プロガードを始めるには静かな学習曲線がありますが、それは非常に強力です。
これは、トピックに詳細な議論を与える別の投稿です。