ライブラリを作っている。
デバッグビルドの時はログを出して、リリースビルドの時は出したくない。
できれば、リリースビルドの時にはコード自体削ってほしいのだけど、出したいところもあるので全部削りたいわけでもない。
とりあえず、自分でログ出力するclassを作って、BuildConfig.DEBUGをif文で見るようにした。
したのだが、ログが出ないのだ。
デバッガで止めても、falseになっている。
けれども、Android StudioでCtrl押しながらクリックしてBuildConfigに飛ぶと、trueになっているっぽい。
だいたい、falseのときは
public static final boolean DEBUG = false;
でわかりやすいのだけど、trueのときは
public static final boolean DEBUG = Boolean.parseBoolean("true");
になっている。
直接trueって書いてくれれば、もう少し安心できるのに。。。
ライブラリのBuildConfigは、強制でfalseになる、という話が多いので、たぶんそうなのだろう。
でも、Build Variantで変更できるので、なんかねぇ、納得しづらいねぇ。。。
こちらの方が、対処を書いてくださってる。
[Android] BuildConfig.DEBUGがtrueにならない: Java知識ゼロ人間の生活
これを見ると、アプリのdebug/releaseで切り分けられることになるんじゃないかしら。
つまり、「compile()」を使うと、Build Variantの設定は無視され、デフォルトの'release'が使われる、ということか。
それなら、まあまだ納得がいくな。
だったら、一番よいのは、関数はcompile()のままで、後ろのconfigurationをライブラリのBuild Variantによって設定する、とかなんだろうけど、うーん、よくわからん。
AndroidStudioのIDEにbuild variantsというタブが多分左下にありますので、そこでdebugを選ぶとtrueになりそう!
返信削除うちだと、それで変わらないんですよ。。。
削除BuildConfigのところは書き換わるんですが、実行時にはfalse扱いになるという。。。
あれまー!
削除