LoginSignup
14
14

More than 5 years have passed since last update.

ProGuardとLogCatとAdMobが織りなす罠

Posted at

アンドロイド開発においてログを吐く事は保守性が良くなるが、実際にこのコードを放置するとアプリケーションのパフォーマンスも落ちるし情報もだだ漏れ。

そのため存続のコードではガシガシログを吐いてリリースビルドで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(...);
}

とすればモーマンタイ。

14
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
14