IOS의 경우 매크로를 이용해서 Debug 또는 Release 모드에서만 동작하게 분기할 수 있다.

override func viewDidLoad() {
   super.viewDidLoad()
   
#if DEBUG
   logView.isHidden = false
#else
   logView.isHidden = true    
#endif   
}

 

안드로이드는 매크로가 없어서 찾아보니 방법은 있긴하다.

BuildConfig.java 파일에 상수로 저장되어 있는 값을 이용하면 된다.

public static final Boolean DEBUG_MODE = true; 고정값으로 박혀있어서 build.gradle 에서 Debug모드 일때와 Release 모드일때 값을 변경해 주면 된다.

 

[BuildConfig.java]

public final class BuildConfig {
  public static final boolean DEBUG = Boolean.parseBoolean("true");
  public static final String APPLICATION_ID = "kr.xxxx.xxxxxxxxxxx";
  public static final String BUILD_TYPE = "debug";
  public static final int VERSION_CODE = 215;
  public static final String VERSION_NAME = "1.1.4";
  // Field from build type: debug
  public static final Boolean DEBUG_MODE = true;   // <= 요걸 사용했다.
}

 

[build.gradle]

buildTypes {
    debug {
        buildConfigField "Boolean", "DEBUG_MODE", "true"
    }
    release {
        buildConfigField "Boolean", "DEBUG_MODE", "false"
        minifyEnabled false
    }
}

 

소스상에서 if 문을 이용해서 구분하면 됨. 아래와 같이 하면 Debug 모드에서만 동작하게 된다.

if (BuildConfig.DEBUG_MODE) {
    mDebugLayer.setVisibility(View.VISIBLE);
}

+ Recent posts