title: Android DexGuard: Exclude Crashlytics from Obfuscation
body: <p>My application can run perfectly with Crashlytics when I turn DexGuard off. However, when I add the following configurations to obfuscate my code the application stucks at launch with a black screen.</p>
  
  <p>Here is the related part of the <strong>build.gradle</strong></p>
  
  <pre><code>apply plugin: 'com.android.application'
  apply plugin: 'io.fabric'
  apply plugin: 'dexguard'
  
  repositories {
    maven { url 'https://maven.fabric.io/public' }
  }
  
  dependencies {
     compile fileTree(dir: 'libs', include: '*.jar')
     compile project(':MyProject')
     compile('commons-validator:commons-validator:1.4.0') {
        exclude group: 'commons-logging', module: 'commons-logging'
     }
  
     compile project(':android-maps-extensions')
     compile('com.crashlytics.sdk.android:crashlytics:2.5.1@aar') {
        transitive = true;
     }
  }
  
  android {
     publishNonDefault true
     compileSdkVersion 23
     buildToolsVersion "23"
     compileOptions {
        encoding "windows-1254"
     }
  
     defaultConfig {
      applicationId "com.x.y"
      minSdkVersion 16
      targetSdkVersion 22
      multiDexEnabled true
     }
     lintOptions {
        abortOnError false
        checkReleaseBuilds false
     }
  
     dexOptions{
        incremental true
        javaMaxHeapSize "4g"
        jumboMode  true
     }
  
     android.enforceUniquePackageName = false
  
     buildTypes {
        debug {
           minifyEnabled false
         }
         release {
            minifyEnabled true
            proguardFiles getDefaultDexGuardFile('dexguard-release.pro'),'dexguard-project.txt'
         }
     }
  }
  </code></pre>
  
  <p>Base <strong>build.gradle</strong> file:</p>
  
  <pre><code>buildscript {
     repositories {
        flatDir dirs: System.getenv('DEXGUARD_LIB')
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
     }
  
     dependencies {
        classpath ':dexguard'
        classpath 'com.android.tools.build:gradle:1.2.3'
        classpath 'io.fabric.tools:gradle:1.+'
     }
  }
  </code></pre>
  
  <p>Related part of <strong>dexguard-project.txt</strong> file:</p>
  
  <pre><code>-optimizationpasses 5
  -dontusemixedcaseclassnames
  -dontskipnonpubliclibraryclasses
  -dontpreverify
  -verbose
  -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
  -multidex
  
  -keep class com.crashlytics.** { *; }
  -dontwarn com.crashlytics.**
  </code></pre>
  
  <p>Logcat Console output:</p>
  
  <pre><code>Could not find method com.crashlytics.android.Crashlytics.getInstance, referenced from method com.x.y.application.MyApplication.ʻ
  Could not find method com.crashlytics.android.Crashlytics.getInstance, referenced from method com.x.y.application.MyApplication.ˏ
  Could not find method com.crashlytics.android.Crashlytics.getInstance, referenced from method com.x.y.application.MyApplication.ᐝ
  
  Starting window AppWindowToken{4518e2c0 token=Token{43255cd8 ActivityRecord{42d2a290 u0 com.x.y.tst/com.x.y.activity.start.FirstActivity t369}}} timed out
  </code></pre>
  
  <p>What i am actually doing with Crashlytics.getInstance :</p>
  
  <pre><code>Crashlytics.getInstance().core.setString("ENVIRONMENT", "TEST");
  </code></pre>
  
  <p>I see no warnings or errors in the build log.
  Anyone have an idea what causes the problem?</p>
  
  <p>Thanks in advance!</p>