Shutting off my own app's LogCat output before releasing an app to the market is straightforward. I also know how to selectively filter LogCat message by tag and/or id for my own debug convenience.
But now I am interested in something that may be much more difficult (perhaps impossible?): Disable all LogCat output, including & especially those coming from 3rd-party services like TtsService, GoogleLoginService, etc.
Is this possible?
To further clarify: I am not interested in filtering out messages for myself. I am rather interested in disabling 3rd-party messages for whoever downloads my app from the Android Market. Is this possible?
You can use ProGuard to remove completely any lines where a return value is not used, by telling ProGuard to assume that there will be no problems.
The following proguard.cfg chunk instructs to remove Log.d, Log.v and Log.i calls.
-assumenosideeffects class android.util.Log {
public static *** d(...);
public static *** w(...);
public static *** v(...);
public static *** i(...);
}
The end result is that these log lines are not in your release apk, and therefore any user with logcat won't see d/v/i logs.