Firestore dependency error flutter
489
Finally found an answer in another post on Stackoverflow still These lines of code should be added in build.gradle file (Module: app).
android {
defaultConfig {
multiDexEnabled true
}
}
Author by
Taio
Updated on December 06, 2022Comments
-
Taio over 1 year
I have this app that is working perfectly. Now i need to add firestore functionality and it fails to build. Console error:
Launching lib\main.dart on Phone in debug mode... Configuration 'compile' in project ':app' is deprecated. Use 'implementation' instead. registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection) registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection) registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection) FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'. > java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex * Try: Run with --stacktrace option to get the stack trace. Run with --info or -- debug option to get more log output. * Get more help at https://help.gradle.org BUILD FAILED in 2m 3s Gradle build failed: 1 Exited (sigterm)
The error comes after adding the line
implementation 'com.google.firebase:firebase-firestore:17.1.0'
in the app/build.gradledependencies { testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso- core:3.0.1' compile 'com.google.firebase:firebase-core:16.0.3' implementation 'com.google.firebase:firebase-auth:16.0.3' implementation 'com.google.firebase:firebase-firestore:17.1.0' //if I comment out this line the app compiles and builds normally. //Also I can use FirebaseAuth in the app so I don't think I have wrongly configured Firebase }
Gradlew logs
Task :app:compileDebugJavaWithJavac Putting task artifact state for task ':app:compileDebugJavaWithJavac' into context took 0.0 secs. file or directory 'C:\Users\rober\OneDrive\Documents\VS\appname\android\app\src\debug\java', not found Skipping task ':app:compileDebugJavaWithJavac' as it is up-to-date (took 0.117 secs). :app:compileDebugJavaWithJavac (Thread[Task worker for ':' Thread 3,5,main]) completed. Took 0.136 secs. :app:transformClassesWithDexBuilderForDebug (Thread[Task worker for ':' Thread 3,5,main]) started. > Task :app:transformClassesWithDexBuilderForDebug Putting task artifact state for task ':app:transformClassesWithDexBuilderForDebug' into context took 0.0 secs. Skipping task ':app:transformClassesWithDexBuilderForDebug' as it is up-to-date (took 0.162 secs). :app:transformClassesWithDexBuilderForDebug (Thread[Task worker for ':' Thread 3,5,main]) completed. Took 0.162 secs. :app:transformDexArchiveWithExternalLibsDexMergerForDebug (Thread[Daemon worker Thread 7,5,main]) started. > Task :app:transformDexArchiveWithExternalLibsDexMergerForDebug Putting task artifact state for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug' into context took 0.0 secs. Executing task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug' (up-to-date check took 0.077 secs) due to: Task has failed previously. All input files are considered out-of-date for incremental task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'. :app:transformDexArchiveWithExternalLibsDexMergerForDebug (Thread[Daemon worker Thread 7,5,main]) completed. Took 1.029 secs. FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'. > java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex * Try: Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.
I have even tried running it in Android studio and still nothing. Adding other dependencies like
cloud storage
andcloud messaging
and the app builds normally. But after adding thefirestore
line, the error appears-
Taio almost 6 yearsI have added the
flutter run -v
logs -
Taio almost 6 yearsHow exactly do I do that, the
--info
part -
creativecreatorormaybenot almost 6 yearsYou can just run the part that causes the failure isolated:
projectDir/android/gradlew transformDexArchiveWithExternalLibsDexMergerForDebug --info
. The appended--info
, whichflutter run
does not use, will show you the actual DexMerger error. -
Taio almost 6 yearswhen i run this it opens
cmd
and starts running on completion.cmd
just exits without giving time to read the result. So i run the command in thecmd
directly and the result i have posted but am not sure it is the error exactly -
Taio almost 6 yearsno. Found what i was doing wrong. Check log updates
-
Taio almost 6 yearsI did not mean i solved the question. Do you have any suggestions. I have even added
realtime database
,cloud messaging
, those dependencies i think i will need in future and they don't affect anything. On adding thefirestore
dependency, everything stops
-
-
creativecreatorormaybenot almost 6 yearsThat is what I suspected firstly, but the updates of your posts did not help me in that regard.
-
Leonard Arnold almost 6 yearsit would also work without adding
multiDexEnabled = true
if you change the firestore version to16.0.0