facebook twitter hatena line email

「Android/デバッグリリース判定」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
 
行11: 行11:
  
 
参考: http://neta-abc.blogspot.jp/2012/05/2.html
 
参考: http://neta-abc.blogspot.jp/2012/05/2.html
 +
 +
==BuildConfig.DEBUGがlibrary側でも有効になるように変更==
 +
-library側build.gradle
 +
android {
 +
    publishNonDefault true
 +
 +
-app側build.gradle
 +
dependencies {
 +
    // compile project(':mylibrary') // 元々あったものは削除しておく
 +
    debugCompile project(path: ':mylibrary', configuration: 'debug')
 +
    releaseCompile project(path: ':mylibrary', configuration: 'release')
 +
 +
MainActivity.java
 +
Log.i("test", "app BuildConfig.DEBUG=" + BuildConfig.DEBUG); // true
 +
 +
LibInfo.java
 +
Log.i("test", "library BuildConfig.DEBUG=" + BuildConfig.DEBUG); // true
 +
 +
AndroidStudioであれば左下にBuild Variantsタブがあるのでそこからdebug,releaceを確認

2016年12月16日 (金) 14:48時点における最新版

サンプル

if (BuildConfig.DEBUG) {
    // debug
} else {
    // release
}

作成されたapkやjarのソース内の"if (BuildConfig.DEBUG)"で囲んだ部分はざっくりコードが消える

eclipseの場合の注意点

"eclipse/プロジェクト/自動的にビルド"は外しておかないと、リリース時にデバッグonとしてapkが作られるバグがある

参考: http://neta-abc.blogspot.jp/2012/05/2.html

BuildConfig.DEBUGがlibrary側でも有効になるように変更

-library側build.gradle

android {
   publishNonDefault true

-app側build.gradle

dependencies {
   // compile project(':mylibrary') // 元々あったものは削除しておく
   debugCompile project(path: ':mylibrary', configuration: 'debug')
   releaseCompile project(path: ':mylibrary', configuration: 'release')

MainActivity.java

Log.i("test", "app BuildConfig.DEBUG=" + BuildConfig.DEBUG); // true

LibInfo.java

Log.i("test", "library BuildConfig.DEBUG=" + BuildConfig.DEBUG); // true

AndroidStudioであれば左下にBuild Variantsタブがあるのでそこからdebug,releaceを確認