2017-02-02 24 views
0

私はアンドロイドアプリケーションをデバッグモードで起動しようとしていますが、毎回BuildConfig.DEBUGをチェックするとfalseです。さらに、私のbuildtypeで定義されているbuildconfigFieldはBuildConfigにも表示されません。ここでデバッグモードでは実行できません

は私のGradleファイルです:

buildscript { 
repositories { 
    maven { url 'https://maven.fabric.io/public' } 
} 

dependencies { 
    classpath 'io.fabric.tools:gradle:1.22.0' 
} 
} 

apply plugin: 'com.android.application' 
apply plugin: 'io.fabric' 

repositories { 
    maven { 
     url 'https://maven.fabric.io/public' 
    } 
} 


def versionMajor = 1 

def versionMinor = 2 
def versionPatch = 41 
def versionBuild = 0 // bump for dogfood builds, public betas, etc. 

android { 
    compileOptions.encoding = 'ISO-8859-1' 
    compileSdkVersion 21 
    buildToolsVersion "22.0.1" 
    defaultConfig { 
     applicationId "com.name" 
     minSdkVersion 17 
     targetSdkVersion 21 
     buildConfigField 'Boolean', 'enableCrashlytics', 'false' 
     multiDexEnabled true 
     versionCode versionMajor * 10000 + versionMinor * 1000 + versionPatch * 100 + versionBuild 
     versionName "${versionMajor}.${versionMinor}.${versionPatch}.${versionBuild}" 
    } 



signingConfigs { 
    release { 
     // release stuff 
    } 
} 

buildTypes { 

    android { 
     release { 
      debuggable false 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      signingConfig signingConfigs.release 
      buildConfigField 'Boolean', 'enableCrashlytics', 'true' 
     } 

     debug { 
      buildConfigField 'Boolean', 'enableCrashlytics', 'false' 
      debuggable true 
      minifyEnabled false 
      applicationIdSuffix ".debug" 
     } 
    } 
} 

sourceSets { 
    main { 
     res.srcDirs = ['src/main/res', 'src/main/res/xml'] 
    } 
} 

dexOptions { 
    incremental true 
    javaMaxHeapSize "2048M" 
} 

compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_7 
    targetCompatibility JavaVersion.VERSION_1_7 
} 

lintOptions { 
    checkReleaseBuilds false 
    abortOnError false 
} 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile 'com.android.support:appcompat-v7:22.1.1' 
    // ... some other libs 
    compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
     transitive = true; 
    } 
} 

だから、私のアプリのためのAndroidメーカーI chooseBuildバリアント「デバッグ」で、私はアプリケーションにブレークポイントを打ったときとBuildConfigの値をチェックし、提出enableCrashlyticsは解決されず、BuildConfig.BUILD_TYPEの値は "release"です。

私は間違っていますか?

+0

試してみてください: debuggable false –

+0

あなたのビルドファイルには、いくつかの中かっこ( '}')があります。 –

答えて

1

これは、コードがlibraryにあり、プロジェクトに複数のBuildConfigクラスがあり、モジュールごとに1つで、メインアプリケーションのみが予想どおりに更新される場合に発生する可能性があります。

アプリ間で適切なBuildConfig.BUILD_TYPEを持っているしたい場合は、debug/releaseすべてのモジュールのgradleファイルの種類を構築し、メインgradleファイルから選択されたビルドタイプをトリクルダウン持っている必要があるだろうdependencies

関連する問題