firebase / flutterfire

🔥 A collection of Firebase plugins for Flutter apps.
https://firebase.google.com/docs/flutter/setup
BSD 3-Clause "New" or "Revised" License
8.63k stars 3.95k forks source link

[firebase_core_web , firebase_auth_web, cloud_firestore_web ] Plugin project :firebase_auth_web not found. Please update settings.gradle. #2599

Closed gsusI closed 4 years ago

gsusI commented 4 years ago

Describe the bug flutter run -d "<android device>" causes a settings.gradle error in console.

To Reproduce

  1. Create new project: flutter create test_project
  2. Include in pubspec.yml the following dependencies:
    firebase_core: ^0.4.4+3
    firebase_auth: ^0.16.0
    cloud_firestore: ^0.13.5
  3. Run the project targetting a physical Android device: flutter run -d "<android_device>"

Resulting output

**Plugin project :firebase_auth_web not found. Please update settings.gradle.**
**Plugin project :firebase_core_web not found. Please update settings.gradle.**
**Plugin project :cloud_firestore_web not found. Please update settings.gradle.**

Flutter doctor Run flutter doctor and paste the output below:

[√] Flutter (Channel beta, 1.18.0-11.1.pre, on Microsoft Windows [Version 10.0.19041.264], locale en-GB)

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[√] Chrome - develop for the web
[√] Android Studio (version 3.6)
[√] VS Code (version 1.45.1)
[√] Connected device (3 available)

• No issues found!
TahaTesser commented 4 years ago

Hi @gsusI Please add this in flutter app -> android -> settings.gradle

def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()

def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
    pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}

plugins.each { name, path ->
    def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
    include ":$name"
    project(":$name").projectDir = pluginDirectory
}

if you disagree please write in the comments and I will reopen it Thank you

tajjacob commented 4 years ago

Praised to God! its working! thanks bro.. God bless you.

TahaTesser commented 4 years ago

This should be fixed by https://github.com/flutter/flutter/issues/46304

ALI-AMIN90 commented 4 years ago

hi@TahaTesser Show me this error

Note: /Users/apple/developer/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.13.6/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: 88496 > 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: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) 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 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: 88496 > 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

help me if you can

cheseren commented 4 years ago

Hi @gsusI Please add this in flutter app -> android -> settings.gradle

def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()

def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
    pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}

plugins.each { name, path ->
    def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
    include ":$name"
    project(":$name").projectDir = pluginDirectory
}

if you disagree please write in the comments and I will reopen it Thank you

this worked for me.

mayaramein commented 4 years ago

Hi @gsusI Please add this in flutter app -> android -> settings.gradle

def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()

def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
    pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}

plugins.each { name, path ->
    def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
    include ":$name"
    project(":$name").projectDir = pluginDirectory
}

if you disagree please write in the comments and I will reopen it Thank you


Launching lib\main.dart on AOSP on IA Emulator in debug mode...
Running Gradle task 'assembleDebug'...
D8: Cannot fit requested classes in a single dex file (# methods: 83655 > 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: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)
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 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: 83655 > 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

FAILURE: Build failed with an exception.

BUILD FAILED in 1m 23s [!] 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 Exception: Gradle task assembleDebug failed with exit code 1



> It gave this error any help?
gsusI commented 4 years ago

The number of method references in a .dex file cannot exceed 64K.

Just add these lines in the module/build.gradle:

android {

    defaultConfig {
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
    ...
}

dependencies {
  implementation 'com.android.support:multidex:1.0.3'  //with support libraries
  //implementation 'androidx.multidex:multidex:2.0.1'  //with androidx libraries
}

Source: https://stackoverflow.com/questions/36785014/the-number-of-method-references-in-a-dex-file-cannot-exceed-64k-api-17

Ninfa-Jeon commented 4 years ago

Thanks a lot. I really needed help.

Aneesh4567 commented 4 years ago

Thank you so much, guys. This works perfectly.

sonu-simon commented 4 years ago

Add these lines in the settings.gradle and adding multiDexEnabled fixed the issues. Thanks a lot!

adeolaex commented 4 years ago

Hi @gsusI Please add this in flutter app -> android -> settings.gradle

def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()

def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
    pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}

plugins.each { name, path ->
    def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
    include ":$name"
    project(":$name").projectDir = pluginDirectory
}

if you disagree please write in the comments and I will reopen it Thank you

Thank you. Though may I ask what this is ?

shreeyash commented 4 years ago

Hi @gsusI Please add this in flutter app -> android -> settings.gradle

def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()

def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
    pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}

plugins.each { name, path ->
    def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
    include ":$name"
    project(":$name").projectDir = pluginDirectory
}

if you disagree please write in the comments and I will reopen it Thank you

 Launching lib\main.dart on AOSP on IA Emulator in debug mode...
Running Gradle task 'assembleDebug'...
D8: Cannot fit requested classes in a single dex file (# methods: 83655 > 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: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)
  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 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: 83655 > 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

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDexDebug'.
> 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 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
[!] 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
Exception: Gradle task assembleDebug failed with exit code 1

It gave this error any help?

### In android/app/build.gradle

android {

compileSdkVersion 23

 buildToolsVersion '23.0.0'

    defaultConfig {
        applicationId "com.dkm.example"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }

Put this inside your defaultConfig:

multiDexEnabled true

Worked for Me

Source - https://stackoverflow.com/questions/36785014/the-number-of-method-references-in-a-dex-file-cannot-exceed-64k-api-17/38097692#38097692

ColleSerre commented 4 years ago

@TahaTesser Peace and prosperity to you my friend...

tommytiger14 commented 4 years ago

Hi @gsusI Please add this in flutter app -> android -> settings.gradle

def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()

def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
    pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}

plugins.each { name, path ->
    def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
    include ":$name"
    project(":$name").projectDir = pluginDirectory
}

if you disagree please write in the comments and I will reopen it Thank you

I love you brother ... had the same issue, worked for me as well

phaylali commented 4 years ago

it works but it creates another problem +a warning that Project Resolve Error :

Warning:root project 'android': Unable to resolve additional project configuration. Details: org.apache.tools.ant.BuildException: Basedir /home/mobiusa/flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in_web-0.9.1+1/android does not exist

the description of the build error:

Project resolve errors/home/mobiusa/AndroidStudioProjects/albourane/android/build.gradleroot project 'android': Unable to resolve additional project configuration.Details: org.apache.tools.ant.BuildException: Basedir /home/mobiusa/flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in_web-0.9.1+1/android does not exist **_### this is the full file settings.gradle:_** // found in the LICENSE file. include ':app' def localPropertiesFile = new File(rootProject.projectDir, "local.properties") def properties = new Properties() assert localPropertiesFile.exists() localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } def flutterSdkPath = properties.getProperty("flutter.sdk") assert flutterSdkPath != null, "flutter.sdk not set in local.properties" apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() def plugins = new Properties() def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') if (pluginsFile.exists()) { pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } } plugins.each { name, path -> def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() include ":$name" project(":$name").projectDir = pluginDirectory }
ishane96 commented 4 years ago

Hi @gsusI Please add this in flutter app -> android -> settings.gradle

def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()

def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
    pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}

plugins.each { name, path ->
    def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
    include ":$name"
    project(":$name").projectDir = pluginDirectory
}

if you disagree please write in the comments and I will reopen it Thank you

thanks. this worked for me

aamadmin commented 4 years ago

For me this worked following these steps.

//settings.gradle file //these lines added include ':app' def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()

def plugins = new Properties() def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') if (pluginsFile.exists()) { pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } }

plugins.each { name, path -> def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() include ":$name" project(":$name").projectDir = pluginDirectory }

ERROR : 'json' specified for property 'processor List File' does not exist.

  1. Clean Project.
  2. Delete .gradle folder which is inside \Development\flutter\pro_name\android\ OR move to other location.
  3. Delete contents of \Development\flutter\pro_name\build folder

After doing this my project is running without any error. Thanks a lot.. hope this help some

one2clouds commented 4 years ago

Goto android directory -> app folder ->build.gradle -> update minSDK version 19 to 21 because firebase supports from minSDK version 21 onwards then close and reopen android studio. Your error is gone

neilmehta31 commented 4 years ago

The number of method references in a .dex file cannot exceed 64K.

Just add these lines in the module/build.gradle:

android {

    defaultConfig {
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
    ...
}

dependencies {
  implementation 'com.android.support:multidex:1.0.3'  //with support libraries
  //implementation 'androidx.multidex:multidex:2.0.1'  //with androidx libraries
}

Source: https://stackoverflow.com/questions/36785014/the-number-of-method-references-in-a-dex-file-cannot-exceed-64k-api-17

Thanks a lot. It worker for me

zeh commented 4 years ago

Hi @gsusI Please add this in flutter app -> android -> settings.gradle

Even if this works for some people, I wonder if it's the right solution. This used to be Flutter's default settings.gradle, but it has recently been changed to a different implementation. I assume there's a reason why it it changed. Simply pasting the old source into the new file has got to be problematic; at best, simply working around bigger problems, and at worst, sowing issues that will blow up later.

sauravgpt commented 4 years ago

Hi @gsusI Please add this in flutter app -> android -> settings.gradle

def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()

def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
    pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}

plugins.each { name, path ->
    def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
    include ":$name"
    project(":$name").projectDir = pluginDirectory
}

if you disagree please write in the comments and I will reopen it Thank you

Should I replace the whole code or only add these line. Net let you know I've tried both but it causes one new problem. I'm using flutter channel beta.

campioncino commented 4 years ago

def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()

def plugins = new Properties() def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') if (pluginsFile.exists()) { pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } }

plugins.each { name, path -> def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() include ":$name" project(":$name").projectDir = pluginDirectory }

I've replaced all. It works. Thanks a lot

jcampbell05 commented 4 years ago

Why do we need this code btw ? why can't this work out of the box ?

garshom commented 4 years ago

I got the same issue and got it solved with the below code added to gradle.settings file as advised

def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()

def plugins = new Properties() def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') if (pluginsFile.exists()) { pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } }

plugins.each { name, path -> def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() include ":$name" project(":$name").projectDir = pluginDirectory }

Thanks .

the-kool-sk commented 4 years ago

Update : After adding these lines :

def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()

def plugins = new Properties() def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') if (pluginsFile.exists()) { pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } }

plugins.each { name, path -> def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() include ":$name" project(":$name").projectDir = pluginDirectory }

You need to enable multidex :

Open project/app/build.gradle and add the following lines. defaultConfig { ...

multiDexEnabled true

}

dependencies { ...

implementation 'com.android.support:multidex:1.0.3'

}

TahaTesser commented 4 years ago

Everybody please check this https://github.com/FirebaseExtended/flutterfire/issues/2796#issuecomment-656606329

PeterHdd commented 4 years ago

For anyone still stuck on this issue, check my answer here:

https://stackoverflow.com/a/61732682/7015400

saiankit commented 4 years ago

For anyone still stuck on this issue, check my answer here:

https://stackoverflow.com/a/61732682/7015400

Even after following the required steps, I am facing a new error during my flutter run

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/SaiAnkit/Desktop/CgpaCalculator/android/build.gradle' line: 30

* What went wrong:
A problem occurred evaluating root project 'android'.
> Project with path ':app' could not be found in project ':cloud_firestore'.

* 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 1s
Running Gradle task 'assembleDebug'...
Running Gradle task 'assembleDebug'... Done                         2.1s
Exception: Gradle task assembleDebug failed with exit code 1

How to fix this error ?

mkhtradm01 commented 4 years ago

Hi @gsusI Please add this in flutter app -> android -> settings.gradle

def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()

def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
    pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}

plugins.each { name, path ->
    def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
    include ":$name"
    project(":$name").projectDir = pluginDirectory
}

if you disagree please write in the comments and I will reopen it Thank you

The question is: Till when will this be fixed so that developers don't have to do it manually?

hackervic commented 4 years ago

Launching lib\main.dart on Pixel in debug mode... Running Gradle task 'assembleDebug'... Plugin project :firebase_core_web not found. Please update settings.gradle. Plugin project :firebase_auth_web not found. Please update settings.gradle.

FAILURE: Build failed with an exception.

BUILD FAILED in 2s Exception: Gradle task assembleDebug failed with exit code 1

kauemurakami commented 4 years ago

Para quem ainda está preso a esse problema, verifique minha resposta aqui: https://stackoverflow.com/a/61732682/7015400

Mesmo depois de seguir as etapas necessárias, estou enfrentando um novo erro durante minha execução de flutter

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/SaiAnkit/Desktop/CgpaCalculator/android/build.gradle' line: 30

* What went wrong:
A problem occurred evaluating root project 'android'.
> Project with path ':app' could not be found in project ':cloud_firestore'.

* 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 1s
Running Gradle task 'assembleDebug'...
Running Gradle task 'assembleDebug'... Done                         2.1s
Exception: Gradle task assembleDebug failed with exit code 1

Como corrigir este erro?

I have the same problem, no solution regardless of the approach tried, the proposed solution does not satisfy the problem today

HeroCodes770 commented 4 years ago

@TahaTesser your solution didn't work for me. Is there a different approach I am to use?

PeterHdd commented 4 years ago

Okay, I just upgraded flutter and added firestore dependency, if you then run flutter run you will get the following error:

Plugin project :firebase_core_web not found. Please update settings.gradle. Plugin project :cloud_firestore_web not found. Please update settings.gradle. Note: /Users//.pub-cache/hosted/pub.dartlang.org/cloud_firestore->0.13.7/android/src/main/java/io/flutter/plugins/firebase/cloudfirestore/CloudFirestorePlugin.java uses unchecked or unsafe >operations. Note: Recompile with -Xlint:unchecked for details.

Upgrade minSdkVersion from 16 to 23 solves the second problem, then you will only have this problem:

Plugin project :firebase_core_web not found. Please update settings.gradle. Plugin project :cloud_firestore_web not found. Please update settings.gradle.

Following this answer https://stackoverflow.com/questions/61732409/plugin-project-firebase-core-web-not-found/61732682#61732682 will fix the above.

Screen Shot
humayuntanwar commented 4 years ago

trying to add firebase analytics and gettig the following


` FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDebugAssets'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
   > Could not download firebase-iid-interop-16.0.1.aar (com.google.firebase:firebase-iid-interop:16.0.1)
      > Could not get resource 'https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-iid-interop/16.0.1/firebase-iid-interop-16.0.1.aar'.
         > Failed to move file 'C:\Users\humay\AppData\Local\Temp\gradle_download3114793585880044173bin' into filestore at 'com.google.firebase/firebase-iid-interop/16.0.1/8707ad5e1fdd9182313a5eb5edd16e1a839cdd75/firebase-iid-interop-16.0.1.aar' 
            > Failed to create directory 'C:\Users\humay\.gradle\caches\modules-2\files-2.1\com.google.firebase\firebase-iid-interop\16.0.1\8707ad5e1fdd9182313a5eb5edd16e1a839cdd75'
   > Could not download play-services-stats-16.0.1.aar (com.google.android.gms:play-services-stats:16.0.1)
      > Could not get resource 'https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-stats/16.0.1/play-services-stats-16.0.1.aar'.
         > Failed to move file 'C:\Users\humay\AppData\Local\Temp\gradle_download2720625155384424632bin' into filestore at 'com.google.android.gms/play-services-stats/16.0.1/d5ca5898019c0913d163dbfeaa42b77b148716c/play-services-stats-16.0.1.aar' 
            > Failed to create directory 'C:\Users\humay\.gradle\caches\modules-2\files-2.1\com.google.android.gms\play-services-stats\16.0.1\d5ca5898019c0913d163dbfeaa42b77b148716c'
   > Could not download play-services-stats-16.0.1.aar (com.google.android.gms:play-services-stats:16.0.1)
      > Could not get resource 'https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-stats/16.0.1/play-services-stats-16.0.1.aar'.
         > Failed to move file 'C:\Users\humay\AppData\Local\Temp\gradle_download3673762913296765264bin' into filestore at 'com.google.android.gms/play-services-stats/16.0.1/d5ca5898019c0913d163dbfeaa42b77b148716c/play-services-stats-16.0.1.aar' 
            > Failed to create directory 'C:\Users\humay\.gradle\caches\modules-2\files-2.1\com.google.android.gms\play-services-stats\16.0.1\d5ca5898019c0913d163dbfeaa42b77b148716c'
   > Could not download play-services-stats-16.0.1.aar (com.google.android.gms:play-services-stats:16.0.1)
      > Could not get resource 'https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-stats/16.0.1/play-services-stats-16.0.1.aar'.
         > Failed to move file 'C:\Users\humay\AppData\Local\Temp\gradle_download4851692533216240449bin' into filestore at 'com.google.android.gms/play-services-stats/16.0.1/d5ca5898019c0913d163dbfeaa42b77b148716c/play-services-stats-16.0.1.aar' 
            > Failed to create directory 'C:\Users\humay\.gradle\caches\modules-2\files-2.1\com.google.android.gms\play-services-stats\16.0.1\d5ca5898019c0913d163dbfeaa42b77b148716c'
   > Could not download firebase-measurement-connector-17.0.1.aar (com.google.firebase:firebase-measurement-connector:17.0.1)
      > Could not get resource 'https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-measurement-connector/17.0.1/firebase-measurement-connector-17.0.1.aar'.
         > Failed to move file 'C:\Users\humay\AppData\Local\Temp\gradle_download5983594058538588346bin' into filestore at 'com.google.firebase/firebase-measurement-connector/17.0.1/bcef3a812b71fb7e3faf15f6e3eda949c7455edc/firebase-measurement-connector-17.0.1.aar' 
            > Failed to create directory 'C:\Users\humay\.gradle\caches\modules-2\files-2.1\com.google.firebase\firebase-measurement-connector\17.0.1\bcef3a812b71fb7e3faf15f6e3eda949c7455edc'

* 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 17s
Exception: Gradle task assembleDebug failed with exit code 1
`
Fahad-Md-Kamal commented 4 years ago

Update : After adding these lines :

def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()

def plugins = new Properties() def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') if (pluginsFile.exists()) { pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } }

plugins.each { name, path -> def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() include ":$name" project(":$name").projectDir = pluginDirectory }

You need to enable multidex :

Open project/app/build.gradle and add the following lines. defaultConfig { ...

multiDexEnabled true

}

dependencies { ...

implementation 'com.android.support:multidex:1.0.3'

}

This worked for me... Thanks

Equinox07 commented 4 years ago

Hi @gsusI Please add this in flutter app -> android -> settings.gradle

def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()

def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
    pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}

plugins.each { name, path ->
    def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
    include ":$name"
    project(":$name").projectDir = pluginDirectory
}

if you disagree please write in the comments and I will reopen it Thank you

Worked for me..... D;