title: Unable to build a release build in Kotlin
body: <p>After having converted my Android project to Kotlin I am unable to build a release build, the error appears to be related to Proguard.</p>
  
  <p>I see 155 warnings like</p>
  
  <pre><code>Warning:com.example.app.activity.MainActivity$1: can't find referenced field 'android.view.View decorView' in program class com.example.app.activity.MainActivity
  Warning:com.example.app.activity.MainActivity$2: can't find referenced field 'android.os.Handler handler' in program class com.example.app.activity.MainActivity
  </code></pre>
  
  <p>and the build fails with</p>
  
  <pre><code>Error:Execution failed for task ':MyApp:transformClassesAndResourcesWithProguardForFreeRelease'.
  &gt; Job failed, see logs for details
  </code></pre>
  
  <p>If I change these directives in build.grade from true to false the build succeeds.</p>
  
  <pre><code>minifyEnabled true
  shrinkResources true
  </code></pre>
  
  <p>Any suggestions on what the issue might be?</p>
  
  <p>Edit:</p>
  
  <p>The proguard files are below:</p>
  
  <p>proguard-android.txt</p>
  
  <pre><code># This is a configuration file for ProGuard.
  # http://proguard.sourceforge.net/index.html#manual/usage.html
  
  -dontusemixedcaseclassnames
  -dontskipnonpubliclibraryclasses
  -verbose
  
  # Optimization is turned off by default. Dex does not like code run
  # through the ProGuard optimize and preverify steps (and performs some
  # of these optimizations on its own).
  -dontoptimize
  -dontpreverify
  
  # If you want to enable optimization, you should include the
  # following:
  # -optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
  # -optimizationpasses 5
  # -allowaccessmodification
  #
  # Note that you cannot just include these flags in your own
  # configuration file; if you are including this file, optimization
  # will be turned off. You'll need to either edit this file, or
  # duplicate the contents of this file and remove the include of this
  # file from your project's proguard.config path property.
  
  -keepattributes *Annotation*
  -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.BackupAgent
  -keep public class * extends android.preference.Preference
  -keep public class * extends android.support.v4.app.Fragment
  -keep public class * extends android.app.Fragment
  -keep public class com.android.vending.licensing.ILicensingService
  
  
  # For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
  -keepclasseswithmembernames class * {
      native &lt;methods&gt;;
  }
  
  -keep public class * extends android.view.View {
      public &lt;init&gt;(android.content.Context);
      public &lt;init&gt;(android.content.Context, android.util.AttributeSet);
      public &lt;init&gt;(android.content.Context, android.util.AttributeSet, int);
      public void set*(...);
  }
  
  -keepclasseswithmembers class * {
      public &lt;init&gt;(android.content.Context, android.util.AttributeSet);
  }
  
  -keepclasseswithmembers class * {
      public &lt;init&gt;(android.content.Context, android.util.AttributeSet, int);
  }
  
  -keepclassmembers class * extends android.app.Activity {
     public void *(android.view.View);
  }
  
  # For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
  -keepclassmembers enum * {
      public static **[] values();
      public static ** valueOf(java.lang.String);
  }
  
  -keep class * implements android.os.Parcelable {
    public static final android.os.Parcelable$Creator *;
  }
  
  -keepclassmembers class **.R$* {
      public static &lt;fields&gt;;
  }
  
  # 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 io.codetail.animation.**
  </code></pre>
  
  <p>proguard-rules.txt</p>
  
  <pre><code># Add project specific ProGuard rules here.
  # By default, the flags in this file are appended to flags specified
  # in /home/francesc/droids/android-sdk-linux/tools/proguard/proguard-android.txt
  # You can edit the include path and order by changing the ProGuard
  # include property in project.properties.
  #
  # For more details, see
  #   http://developer.android.com/guide/developing/tools/proguard.html
  
  # Add any project specific keep options here:
  
  # 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 *;
  #}
  
  -keep class com.nineoldandroids.** { *; }
  -dontwarn io.codetail.animation.**
  </code></pre>
  
  <p>The signing config is defined as shown below</p>
  
  <pre><code>signingConfigs {
      myConfig {
          Properties keyProps = new Properties()
          keyProps.load(new FileInputStream(file('../release.properties')))
          storeFile file(keyProps["store"])
          keyAlias keyProps["alias"]
          storePassword keyProps["storePass"]
          keyPassword keyProps["keyPass"]
      }
  }
  
  buildTypes {
      release {
          proguardFiles 'proguard-android.txt', 'proguard-rules.txt'
          minifyEnabled true
          shrinkResources true
          signingConfig signingConfigs.myConfig
      }
  }
  </code></pre>