以前に書いた方法は以下から。
デバッグビルドとリリースビルドで処理を変える方法
http://neta-abc.blogspot.jp/2012/02/blog-post.html
ADT 17(らしい)から/genの下にBuildConfig.javaが自動生成されるようになっています。
BuildConfig.java
/** Automatically generated file. DO NOT MODIFY */ package com.example.builconfigtest; public final class BuildConfig { public final static boolean DEBUG = true; }
このBuildConfig.DEBUGはリリースビルド時(Export Signed Application Package...)に自動でfalseになってくれる仕組みだそうです。
なので、これを利用してデバッグビルドとリリースビルドで処理を切り替えることが出来ます。
BuildConfigTestActivity.java
public class BuildConfigTestActivity extends Activity { private final String TAG = getClass().getSimpleName(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); if (BuildConfig.DEBUG) { Log.e(TAG, "BuildConfig.DEBUG = true"); } else { Log.e(TAG, "BuildConfig.DEBUG = false"); } } }
上記のコードでデバッグビルド/リリースビルド時にログが切り替わることを確認しています。
因みにWindows環境(のみ?)ではBuildConfig.DEBUGがリリースビルド時にfalseにならないバグがあるようです。
私の環境(Windows 7 64bit/Indigo/ADT 18)でも発生しています。
>Eclipseの[Project] -> [Build Automatically]を外すと回避できました。
Issue 27940: BuildConfig.DEBUG is "true" for exported application package
http://code.google.com/p/android/issues/detail?id=27940
0 件のコメント:
コメントを投稿