title: Android proguard issue: path may not be null or empty string. path='null'
body: <p>Every thing work fine before setting </p>
  
  <blockquote>
    <p>minifyEnabled true</p>
  </blockquote>
  
  <p>and </p>
  
  <blockquote>
    <p>shrinkResources true</p>
  </blockquote>
  
  <p>After setting these values, whenever i run project i get this error:</p>
  
  <pre><code>Information:Gradle tasks [:app:assembleProdRelease]
  Error:path may not be null or empty string. path='null'
  Information:BUILD FAILED
  Information:Total time: 23.606 secs
  Information:1 error
  Information:0 warnings
  Information:See complete output in console
  </code></pre>
  
  <p>What does this error means <strong>Error:path may not be null or empty string. path='null'</strong>
  Here is build.gradle :</p>
  
  <pre><code>signingConfigs {
              release {
                  storeFile file('/home/rishabh/Documents/dekhoJks/release.jks')
                  storePassword "XXXXXXX"
                  keyAlias "XXXXXXXX"
                  keyPassword "XXXXXXXXX"
              }
          }
          buildTypes {
              release {
                  minifyEnabled true
                  //proguardFiles fileTree(dir: "proguard", include: ["*.pro"]).asList().toArray()
                  proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                  shrinkResources true
                  signingConfig signingConfigs.release
              }
          }
  </code></pre>
  
  <p>And i tried to put every single damn thing i can put in proguard.pro :</p>
  
  <pre><code>-optimizationpasses 5
  -dontusemixedcaseclassnames
  -dontskipnonpubliclibraryclasses
  -dontskipnonpubliclibraryclassmembers
  -dontpreverify
  -verbose
  -dump class_files.txt
  -printseeds seeds.txt
  -printusage unused.txt
  -printmapping mapping.txt
  -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
  
  -allowaccessmodification
  -keepattributes *Annotation*
  -renamesourcefileattribute SourceFile
  -keepattributes SourceFile,LineNumberTable
  -repackageclasses ''
  
  -keep public class * extends android.app.Activity
  -keep public class * extends android.app.Application
  -keep public class * extends android.app.Service
  -keep public class * extends android.content.BroadcastReceiver
  -keep public class * extends android.content.ContentProvider
  -keep public class * extends android.app.backup.BackupAgentHelper
  -keep public class * extends android.preference.Preference
  -keep public class com.android.vending.licensing.ILicensingService
  -dontnote com.android.vending.licensing.ILicensingService
  
  # Explicitly preserve all serialization members. The Serializable interface
  # is only a marker interface, so it wouldn't save them.
  -keepclassmembers class * implements java.io.Serializable {
      static final long serialVersionUID;
      private static final java.io.ObjectStreamField[] serialPersistentFields;
      private void writeObject(java.io.ObjectOutputStream);
      private void readObject(java.io.ObjectInputStream);
      java.lang.Object writeReplace();
      java.lang.Object readResolve();
  }
  
  # Preserve all native method names and the names of their classes.
  -keepclasseswithmembernames class * {
      native &lt;methods&gt;;
  }
  
  -keepclasseswithmembernames class * {
      public &lt;init&gt;(android.content.Context, android.util.AttributeSet);
  }
  
  -keepclasseswithmembernames class * {
      public &lt;init&gt;(android.content.Context, android.util.AttributeSet, int);
  }
  
  # Preserve static fields of inner classes of R classes that might be accessed
  # through introspection.
  -keepclassmembers class **.R$* {
    public static &lt;fields&gt;;
  }
  
  # Preserve the special static methods that are required in all enumeration classes.
  -keepclassmembers enum * {
      public static **[] values();
      public static ** valueOf(java.lang.String);
  }
  
  -keep public class * {
      public protected *;
  }
  
  -keep class * implements android.os.Parcelable {
    public static final android.os.Parcelable$Creator *;
  }
  ##---------------End: proguard configuration common for all Android apps ----------
  
  #---------------Begin: proguard configuration for support library  ----------
  -keep class android.support.v4.app.** { *; }
  -keep interface android.support.v4.app.** { *; }
  -keep class com.actionbarsherlock.** { *; }
  -keep interface com.actionbarsherlock.** { *; }
  
  # The support library contains references to newer platform versions.
  # Don't warn about those in case this app is linking against an older
  # platform version. We know about them, and they are safe.
  -dontwarn android.support.**
  -dontwarn com.google.ads.**
  ##---------------End: proguard configuration for Gson  ----------
  
  ##---------------Begin: proguard configuration for Gson  ----------
  # Gson uses generic type information stored in a class file when working with fields. Proguard
  # removes such information by default, so configure it to keep all of it.
  -keepattributes Signature
  
  # For using GSON @Expose annotation
  -keepattributes *Annotation*
  
  # Gson specific classes
  -keep class sun.misc.Unsafe { *; }
  #-keep class com.google.gson.stream.** { *; }
  
  # Application classes that will be serialized/deserialized over Gson
  -keep class com.example.model.** { *; }
  
  ##---------------End: proguard configuration for Gson  ----------
  
  # If your project uses WebView with JS, uncomment the following
  # and specify the fully qualified class name to the JavaScript interface
  # class:
  #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
  #   public *;
  #}
  
  
  
  
  -keepclassmembers class android.support.design.internal.BottomNavigationMenuView {
      boolean mShiftingMode;
  }
  
  -dontwarn com.fasterxml.**
  -dontwarn okio.**
  -dontwarn retrofit2.**
  -dontwarn com.fasterxml.jackson.databind.**
  
  # Basic ProGuard rules for Firebase Android SDK 2.0.0+
  -keep class com.firebase.** { *; }
  -keep class org.apache.** { *; }
  -keepnames class com.fasterxml.jackson.** { *; }
  -keepnames class javax.servlet.** { *; }
  -keepnames class org.ietf.jgss.** { *; }
  -dontwarn org.apache.**
  -dontwarn org.w3c.dom.**
  
  -dontwarn com.firebase.ui.**
  
  -keepattributes Signature
  
  -dontwarn com.googlecode.mp4parser.**
  -dontwarn org.mp4parser.aspectj.runtime.reflect.**
  -keep class * implements com.coremedia.iso.boxes.Box { *; }
  -dontwarn com.coremedia.iso.boxes.**
  -dontwarn com.googlecode.mp4parser.authoring.tracks.mjpeg.**
  -dontwarn com.googlecode.mp4parser.authoring.tracks.ttml.**
  
  -keep class com.facebook.** {
     *;
  }
  </code></pre>
  
  <p>But still unable to run my app. Any help where i'm going wrong.</p>