2017-02-02 6 views
0

Ich versuche, meine Android-Anwendung im Debug-Modus zu starten, aber jedes Mal, wenn ich überprüfe BuildConfig.DEBUG es sagt, es ist falsch. Ein buildconfigField, das in meinen buildtypes definiert ist, wird sogar nicht in BuildConfig angezeigt.Kann nicht im Debug-Modus ausgeführt werden

Hier ist meine gradle Datei:

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

So in Android Studio I chooseBuild Variante "debug" für meine app, aber wenn traf ich einen Haltepunkt in der Anwendung und überprüfen Sie die Werte von BuildConfig, die eingereicht enableCrashlytics kann nicht aufgelöst werden und der Wert BuildConfig.BUILD_TYPE ist "release".

Was mache ich falsch?

+0

versuchen zu entfernen: debuggable false –

+0

Es gibt einige zusätzliche schließende Klammern ('}') in Ihrer Build-Datei. –

Antwort

1

Dies kann passieren, wenn der Code in einer library ist, gibt es mehrere BuildConfig Klassen in einem Projekt, eine pro Modul, und nur die Haupt-App wird wie erwartet aktualisiert werden.

Wenn Sie eine richtige BuildConfig.BUILD_TYPE über die App haben wollen, dann würden Sie debug/release Build-Typen auf alle Module gradle Dateien haben müssen, und rieseln die ausgewählte Build-Typ von der Haupt gradle-Datei die dependencies.

Verwandte Themen