2017-02-02 1 views
0

내 안드로이드 응용 프로그램을 디버그 모드로 시작하려고 시도 할 때마다 BuildConfig.DEBUG을 검사 할 때 false로 표시됩니다. 심지어, 내 buildtype에 정의 된 buildconfigField는 BuildConfig에도 나타나지 않습니다. 여기 디버그 모드에서 실행할 수 없습니다.

내 Gradle을 파일입니다 내 애플 리케이션을위한 안드로이드 스튜디오 I chooseBuild 변형 "디버그"에 따라서

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; 
    } 
} 

, 그러나 나는 응용 프로그램에 중단 점을 명중하고, BuildConfigenableCrashlytics 제기를 값을 검사 할 때 자를 수 없으며 BuildConfig.BUILD_TYPE의 값은 "릴리스"입니다.

내가 뭘 잘못하고 있니?

+0

시도해주십시오 : debuggable false –

+0

빌드 파일에 몇 개의 추가 닫는 중괄호 ('}')가 있습니다. –

답변

1

코드가 library이고 프로젝트에 하나의 모듈에 하나씩 BuildConfig 개의 클래스가 있고 주 앱만 예상대로 업데이트되는 경우 이러한 현상이 발생할 수 있습니다. 앱에서 적절한 BuildConfig.BUILD_TYPE를 원한다면

, 당신은 모든 모듈의 gradle 파일에 대한 debug/release 빌드 유형이 필요하고, 메인 gradle 파일에서 선택한 빌드 타입을 조금씩 것 dependencies.

관련 문제