title: java.lang.NullPointerException and Execution failed for task ':android:transformClassesAndResourcesWithProguardForRelease'
body: <p>I am trying to export apk and I want to enable Proguard but it throwing below error. I read so many answers and tried but didn't worked. Getting below error:</p>
  
  <pre><code>org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':android:transformClassesAndResourcesWithProguardForRelease'.
      at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:110)
      at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77)
      at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
      at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
      at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
      at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)
      at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
      at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)
      at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
      at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
      at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)
      at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
      at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
      at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
      at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:51)
      at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
      at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
      at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
      at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
      at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
      at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:46)
      at org.gradle.execution.taskgraph.LocalTaskInfoExecutor.execute(LocalTaskInfoExecutor.java:42)
      at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:277)
      at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:262)
      at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:135)
      at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:130)
      at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.execute(DefaultTaskPlanExecutor.java:200)
      at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.executeWithWork(DefaultTaskPlanExecutor.java:191)
      at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.run(DefaultTaskPlanExecutor.java:130)
      at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
      at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
      at java.lang.Thread.run(Thread.java:745)
  Caused by: java.lang.RuntimeException: Job failed, see logs for details
      at com.android.build.gradle.internal.transforms.ProGuardTransform.transform(ProGuardTransform.java:209)
      at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:239)
      at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:235)
      at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)
      at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:230)
      at sun.reflect.GeneratedMethodAccessor319.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
      at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:50)
      at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
      at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
      at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131)
      at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
      at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
      at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
      at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
      at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
      at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120)
      at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99)
      ... 34 more
  Caused by: java.io.IOException: java.lang.NullPointerException
      at com.android.build.gradle.internal.transforms.ProGuardTransform.doMinification(ProGuardTransform.java:280)
      at com.android.build.gradle.internal.transforms.ProGuardTransform.access$000(ProGuardTransform.java:67)
      at com.android.build.gradle.internal.transforms.ProGuardTransform$1.run(ProGuardTransform.java:178)
      at com.android.builder.tasks.Job.runTask(Job.java:47)
      at com.android.build.gradle.tasks.SimpleWorkQueue$EmptyThreadContext.runTask(SimpleWorkQueue.java:41)
      at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:282)
      ... 1 more
  </code></pre>
  
  <p>this is gradle file of project : </p>
  
  <pre><code> buildscript {
          repositories {
              maven { url 'https://plugins.gradle.org/m2/' }
          }
          dependencies {
              classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:0.12.6'
          }
  
      }
      apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
  
  
      buildscript {
          repositories {
              jcenter()
              google()
          }
      }
  
      apply plugin: "com.android.application"
      android {
          buildToolsVersion '28.0.3'
          compileSdkVersion 28
          defaultConfig {
              applicationId "..."
              manifestPlaceholders = [
                      onesignal_app_id               : '',
                      onesignal_google_project_number: 'REMOTE'
              ]
              versionCode 1
              versionName "1.0.1"
              minSdkVersion 16
              targetSdkVersion 28
          }
          sourceSets {
              main {
                  manifest.srcFile 'AndroidManifest.xml'
                  java.srcDirs = ['src']
                  aidl.srcDirs = ['src']
                  renderscript.srcDirs = ['src']
                  res.srcDirs = ['res']
                  assets.srcDirs = ['assets']
                  jniLibs.srcDirs = ['libs']
              }
  
          }
          signingConfigs {
  
          }
  
  
          buildTypes {
              release {
  
                  signingConfig signingConfigs.release
                  minifyEnabled true
                  shrinkResources true
                  proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
                          'proguard-rules.pro'
              }
          }
  
          aaptOptions {
              ignoreAssetsPattern "!assets.zip"
          }
          aaptOptions {
              cruncherEnabled = false
          }
          compileOptions {
              sourceCompatibility JavaVersion.VERSION_1_8
              targetCompatibility JavaVersion.VERSION_1_8
          }
  
  
      }
  
      configurations { natives }
  
      dependencies {
          implementation project(':core')
          implementation "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion"
          natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi"
          natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a"
          natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-arm64-v8a"
          natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86"
          natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86_64"
          implementation "com.badlogicgames.gdx:gdx-controllers:$gdxVersion"
          implementation "com.badlogicgames.gdx:gdx-controllers-android:$gdxVersion"
          implementation 'ir.tapsell.plus:tapsell-plus-sdk-android:1.1.1'
          implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
          implementation 'com.onesignal:OneSignal:3.12.7'
          implementation 'com.squareup.retrofit2:retrofit:2.8.1'
          implementation 'com.squareup.retrofit2:converter-gson:2.8.1'
          implementation 'com.squareup.picasso:picasso:2.5.2'
          implementation 'com.pushpole.android:pushsdk:1.7.0'
  
      }
  
        task copyAndroidNatives() {
          file("libs/armeabi/").mkdirs()
          file("libs/armeabi-v7a/").mkdirs()
          file("libs/arm64-v8a/").mkdirs()
          file("libs/x86_64/").mkdirs()
          file("libs/x86/").mkdirs()
  
          configurations.getByName("natives").copy().files.each { jar -&gt;
              def outputDir = null
              if (jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a")
              if (jar.name.endsWith("natives-armeabi.jar")) outputDir = file("libs/armeabi")
              if (jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a")
              if (jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86")
              if (jar.name.endsWith("natives-x86_64.jar")) outputDir = file("libs/x86_64")
              if (outputDir != null) {
                  copy {
                      from zipTree(jar)
                      into outputDir
                      include "*.so"
                  }
              }
          }
      }
  
      task run(type: Exec) {
          def path
          def localProperties = project.file("../local.properties")
          if (localProperties.exists()) {
              Properties properties = new Properties()
              localProperties.withInputStream { instr -&gt;
                  properties.load(instr)
              }
              def sdkDir = properties.getProperty('sdk.dir')
              if (sdkDir) {
                  path = sdkDir
              } else {
                  path = "$System.env.ANDROID_HOME"
              }
          } else {
              path = "$System.env.ANDROID_HOME"
          }
  
          def adb = path + "/platform-tools/adb"
          commandLine "$adb", 'shell', 'am', 'start', '-n', 'rs.pedjaapps.smc.android/rs.pedjaapps.smc.android.AndroidLauncher'
      }
  </code></pre>
  
  <p>proguard file : </p>
  
  <p><a href="https://i.stack.imgur.com/eR7MF.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/eR7MF.png" alt="enter image description here"></a></p>
  
  <p>I even done this answer  <a href="https://stackoverflow.com/a/41861497/5733853">https://stackoverflow.com/a/41861497/5733853</a>  but didnt correct. and more answer. </p>