title: Flutter: Java uses or overrides a deprecated API
body: <p>I've been trying to use the auth, firestore firebase in an Android / IOS flutter application, and have been experiencing many different issues, after testing several different versions. Now it's showing me several messages in the build log.</p>
  
  <p>build log</p>
  
  <blockquote>
    <p>Note:
    D:\Flutter\SDK\flutter.pub-cache\hosted\pub.dartlang.org\firebase_core-0.4.3+1\android\src\main\java\io\flutter\plugins\firebase\core\FirebaseCorePlugin.java
    uses or overrides a deprecated API. Note: Recompile with
    -Xlint:deprecation for details. Note: D:\Flutter\SDK\flutter.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.13.0+1\android\src\main\java\io\flutter\plugins\firebase\cloudfirestore\CloudFirestorePlugin.java
    uses unchecked or unsafe operations. Note: Recompile with
    -Xlint:unchecked for details. D8: Cannot fit requested classes in a single dex file (# methods: 81454 > 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
    <a href="https://developer.android.com/tools/building/multidex.html" rel="noreferrer">https://developer.android.com/tools/building/multidex.html</a>
            at com.android.builder.dexing.D8DexArchiveMerger.getExceptionToRethrow(D8DexArchiveMerger.java:131)
            at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:118)
            at com.android.build.gradle.internal.transforms.DexMergerTransformCallable.call(DexMergerTransformCallable.java:102)
            at com.android.build.gradle.internal.tasks.DexMergingTaskRunnable.run(DexMergingTask.kt:444)
            at com.android.build.gradle.internal.tasks.Workers$ActionFacade.run(Workers.kt:335)
            at org.gradle.workers.internal.AdapterWorkAction.execute(AdapterWorkAction.java:50)
            at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:47)
            at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1$1.create(NoIsolationWorkerFactory.java:65)</p>
  
  <pre><code>    at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1$1.create(NoIsolationWorkerFactory.java:61)
  
      at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:98)
      at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.execute(NoIsolationWorkerFactory.java:61)
      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.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
      at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
      at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
      at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
      at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
      at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
      at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
      at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
      at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:56)
  
      at org.gradle.workers.internal.DefaultWorkerExecutor$3.call(DefaultWorkerExecutor.java:215)
      at org.gradle.workers.internal.DefaultWorkerExecutor$3.call(DefaultWorkerExecutor.java:210)
      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
  </code></pre>
    
    <p>complete
            at com.android.tools.r8.utils.t.a(:55)
            at com.android.tools.r8.D8.run(:11)
            at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:116)
            ... 34 more Caused by: com.android.tools.r8.utils.AbortException: Error: null, Cannot fit
    requested classes in a single dex file (# methods: 81454 > 65536)
            at com.android.tools.r8.utils.Reporter.a(:21)
            at com.android.tools.r8.utils.Reporter.a(:7)
            at com.android.tools.r8.dex.VirtualFile.a(:33)
            at com.android.tools.r8.dex.VirtualFile$h.a(:5)
            at com.android.tools.r8.dex.ApplicationWriter.a(:13)
            at com.android.tools.r8.dex.ApplicationWriter.write(:35)
            at com.android.tools.r8.D8.d(:44)
            at com.android.tools.r8.D8.b(:1)
            at com.android.tools.r8.utils.t.a(:23)
            ... 36 more</p>
    
    <p>FAILURE: Build failed with an exception.</p>
    
    <ul>
    <li><p>What went wrong: Execution failed for task ':app:mergeDexDebug'.</p>
    
    <blockquote>
      <p>A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
      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 <a href="https://developer.android.com/tools/building/multidex.html" rel="noreferrer">https://developer.android.com/tools/building/multidex.html</a></p>
    </blockquote></li>
    <li><p>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.</p></li>
    <li>Get more help at <a href="https://help.gradle.org" rel="noreferrer">https://help.gradle.org</a></li>
    </ul>
    
    <p>BUILD FAILED in 4m 33s</p>
  </blockquote>
  
  <p>flutter doctor -v</p>
  
  <blockquote>
    <p>[√] Flutter (Channel stable, v1.12.13+hotfix.5, on Microsoft Windows
    [Version 10.0.18362.535], locale en-IN)</p>
  </blockquote>
  
  <ul>
  <li>• Flutter version 1.12.13+hotfix.5 at D:\Flutter\SDK\flutter
  
  <blockquote>
  <pre><code>• Framework revision 27321ebbad (3 weeks ago), 2019-12-10 18:15:01 -0800
  • Engine revision 2994f7e1e6
  • Dart version 2.7.0
  </code></pre>
  </blockquote></li>
  </ul>
  
  <blockquote>
    <p>[√] Android toolchain - develop for Android devices (Android SDK
    version 29.0.2)</p>
  </blockquote>
  
  <ul>
  <li>• Android SDK at C:\Users\admin\AppData\Local\Android\sdk
  
  <blockquote>
  <pre><code>• Android NDK location not configured (optional; useful for native profiling support)
  • Platform android-29, build-tools 29.0.2
  • Java binary at: D:\Android SDK\jre\bin\java
  • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
  • All Android licenses accepted.
  </code></pre>
  </blockquote></li>
  </ul>
  
  <blockquote>
    <p>[√] Android Studio (version 3.5)</p>
  </blockquote>
  
  <ul>
  <li>• Android Studio at D:\Android SDK
  
  <blockquote>
  <pre><code>• Flutter plugin version 41.1.2
  • Dart plugin version 191.8593
  • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
  </code></pre>
  </blockquote></li>
  </ul>
  
  <p>pubspec </p>
  
  <pre><code>dependencies:
    flutter:
      sdk: flutter
    firebase_auth: ^0.15.3
    cloud_firestore: ^0.13.0+1
  </code></pre>
  
  <p>build.gradle(android)</p>
  
  <pre><code>dependencies {
          classpath 'com.android.tools.build:gradle:3.5.0'
          classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
          classpath 'com.google.gms:google-services:4.3.0'
      }
  </code></pre>