Trying to use Firestore in my project. My project is a brand new one, but having problems running the app on my device without getting an error: Execution failed for task ':app:mergeDexDebug'.
My app is using AndroidX. I've added my google-services.json file, followed the steps etc.
Yaml file:
dependencies:
cloud_firestore: ^0.13.3
android/build.gradle:
com.google.gms:google-services:4.3.3
Full error:
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
The problem is with multidex builder. Actually, this often happens when you have imported a lot of packages in your yaml file which cannot fit into a single .dex built hence you have to enable multidex.
Go to android/app/build.gradle and add the following lines of codes:
dependencies {
implementation 'com.android.support:multidex:2.0.1' //enter the latest multidex version
}
android {
defaultConfig {
multiDexEnabled true
}
}
Fixed the issue, but don't understand why. Why do I need to enable multiDex when I believe Firestore is using AndroidX?
Anyway, the fix. Add multiDexEnabled true to your app/build.gradle
defaultConfig {
// TODO: Specify your own unique Application ID
(https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.poll"
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
//This line here...
multiDexEnabled true
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With