アンドロイド開発においてログを吐く事は保守性が良くなるが、実際にこのコードを放置するとアプリケーションのパフォーマンスも落ちるし情報もだだ漏れ。
そのため存続のコードではガシガシログを吐いてリリースビルドでLogCatを吐かないようにProGuardで
-assumenosideeffects class android.util.Log { <methods>; }
とやるとログを吐かなくなる。
が、これが落とし穴だった。
これをするとAdMobが常にネットワークエラーだと言い出す。
これはSDKをデコンパイルしてみて見るとLog.isLoggableの戻り値を利用しているからだと解った。
すでに難読化されたクローズドソースなので分かりづらいクラス名だが、
com.google.ads.utilのパッケージ中のaとbというクラスで使われている。
-assumenosideeffects class android.util.Log {
public static *** v(...);
public static *** d(...);
public static *** i(...);
public static *** w(...);
public static *** e(...);
}
とすればモーマンタイ。