title: Flutter Build - Gradle task assembleDebug failed with exit code 1
body: <p>I added a few firebase dependencies to the project. <strong>Pub get</strong> works fine with <strong>Process finished with exit code 0</strong>. But I cannot build the app cause of the below error. What is The shrinker may have failed to optimize the Java bytecode? Please, anyone can tell me the correct reason? These firebase dependencies are based on Firebase (Jan 12, 2021 | Min Dart SDK 2.1). Is there anything to change with dependencies?</p>
  <p><strong>Dependencies</strong></p>
  <pre><code>  firebase_core: ^0.7.0
    firebase_auth: ^0.20.0
    firebase_database: ^6.0.0
    cloud_firestore: ^0.16.0
    firebase_storage: ^7.0.0
  
    flutter_staggered_grid_view: ^0.4.0
    fluttertoast: ^8.0.6
    google_maps_place_picker: ^1.0.1
    image_picker: ^0.6.7+22
    multi_image_picker: ^4.7.14
    transparent_image: ^2.0.0
  </code></pre>
  <p><strong>Error</strong></p>
  <pre><code>Launching lib\main.dart on Android SDK built for x86 in debug mode...
  Running Gradle task 'assembleDebug'...
  Note: C:\Flutter\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.16.0+1\android\src\main\java\io\flutter\plugins\firebase\firestore\FlutterFirebaseFirestorePlugin.java uses or overrides a deprecated API.
  Note: Recompile with -Xlint:deprecation for details.
  Note: C:\Flutter\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.16.0+1\android\src\main\java\io\flutter\plugins\firebase\firestore\streamhandler\TransactionStreamHandler.java uses unchecked or unsafe operations.
  Note: Recompile with -Xlint:unchecked for details.
  D8: Cannot fit requested classes in a single dex file (# methods: 110393 &gt; 65536)
  com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: 
  The number of method references in a .dex file cannot exceed 64K.
  Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html
      at com.android.builder.dexing.D8DexArchiveMerger.getExceptionToRethrow(D8DexArchiveMerger.java:132)
      at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:119)
      at com.android.build.gradle.internal.transforms.DexMergerTransformCallable.call(DexMergerTransformCallable.java:102)
      at com.android.build.gradle.internal.tasks.DexMergingTaskRunnable.run(DexMergingTask.kt:432)
      at com.android.build.gradle.internal.tasks.Workers$ActionFacade.run(Workers.kt:242)
      at org.gradle.workers.internal.AdapterWorkAction.execute(AdapterWorkAction.java:57)
      at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
      at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:67)
      at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:63)
      at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:97)
      at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:63)
      at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
      at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
      at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
      at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
      at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
      at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
      at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
      at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
      at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
      at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
      at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
      at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
      at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
      at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:60)
      at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$2(DefaultWorkerExecutor.java:200)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:215)
      at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164)
      at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:131)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
      at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
      at java.lang.Thread.run(Thread.java:748)
  Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, position: null
      at Version.fakeStackEntry(Version_2.1.62.java:0)
      at com.android.tools.r8.utils.Y.a(SourceFile:78)
      at com.android.tools.r8.D8.run(D8.java:11)
      at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:117)
      ... 36 more
  Caused by: com.android.tools.r8.utils.b: Cannot fit requested classes in a single dex file (# methods: 110393 &gt; 65536)
      at com.android.tools.r8.utils.T0.error(SourceFile:1)
      at com.android.tools.r8.utils.T0.a(SourceFile:2)
      at com.android.tools.r8.dex.P.a(SourceFile:740)
      at com.android.tools.r8.dex.P$h.a(SourceFile:7)
      at com.android.tools.r8.dex.b.a(SourceFile:14)
      at com.android.tools.r8.dex.b.b(SourceFile:25)
      at com.android.tools.r8.D8.d(D8.java:133)
      at com.android.tools.r8.D8.b(D8.java:1)
      at com.android.tools.r8.utils.Y.a(SourceFile:36)
      ... 38 more
  
  
  FAILURE: Build failed with an exception.
  
  * What went wrong:
  Execution failed for task ':app:mergeDexDebug'.
  &gt; A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
     &gt; com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: 
       The number of method references in a .dex file cannot exceed 64K.
       Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html
  
  * Try:
  Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
  
  * Get more help at https://help.gradle.org
  
  BUILD FAILED in 1m 23s
  Exception: Gradle task assembleDebug failed with exit code 1
  [!] The shrinker may have failed to optimize the Java bytecode.
      To disable the shrinker, pass the `--no-shrink` flag to this command.
      To learn more, see: https://developer.android.com/studio/build/shrink-code
  </code></pre>