Flutter issues with Android Firebase dependencies after Dependency Upgrades

1,190

I had exactly the same issue after a firebase upgrade. Along with pubspec.yaml There is another (somewhat hidden) dependency you need to upgrade in app/build.gradle. I changed mine from 17.x to this and all builds and runs.

implementation 'com.google.firebase:firebase-analytics:18.0.2'

Share:
1,190
Bliv_Dev
Author by

Bliv_Dev

I follow technological trends around AR and VR technology and increase my understanding and skill towards game engines, 3d modelling, shading and machine learning. These technologies will delivery key values in the future interaction between passengers and vehicles and will have an increasing importance with the rise of autonomous vehicles.

Updated on December 27, 2022

Comments

  • Bliv_Dev
    Bliv_Dev over 1 year

    i recently decided to upgrade my Flutter dependencies and pubspec.yaml all to newest versions according to pub.dev.

    As i mainly tested with iOS i just realised pretty late, that my android build did not work any longer. The Error Message unfortunately was very low on direct information.

    Gradle sync failed: Could not resolve all dependencies for configuration ':app:debugRuntimeClasspath'.
                Problems reading data from Binary store in /private/var/folders/mw/s9362rr10qv43x_yh6qgm17w0000gn/T/gradle8805841490318013448.bin offset 286370 exists? true
                Consult IDE log for more details (Help | Show Log) (25 s 303 ms)
    

    I however decided to also provide my android studio an update to 4.1 and upgraded also the gradle dependencies.

    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.2' // 3.5.1
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:4.3.4' // 4.3.3
    }
    

    The new attempt in android studio was providing a more relatable error in reference to Firebase

    Gradle sync failed: Problems reading data from Binary store in /private/var/folders/mw/s9362rr10qv43x_yh6qgm17w0000gn/T/gradle1329056569736096566.bin offset 296201 exists? true
                    Corrupt serialized resolution result. Cannot find selected module (224) for constraint platform-runtime -> com.google.firebase:firebase-iid:21.0.1
                    Consult IDE log for more details (Help | Show Log) (10 m 18 s 294 ms)
    

    My Flutter Doctor -v gives me confidence that everything is fine. (the Plugin Errors are an existing and known issue by the Flutter team with Android Studio 4.1 and not related)

        [✓] Flutter (Channel stable, 1.22.6, on macOS 11.1 20C69 darwin-x64, locale de-DE)
        • Flutter version 1.22.6 at /Users/kaibaier/development/flutter
        • Framework revision 9b2d32b605 (5 days ago), 2021-01-22 14:36:39 -0800
        • Engine revision 2f0af37152
        • Dart version 2.10.5
        • Pub download mirror https://pub.flutter-io.cn
        • Flutter download mirror https://storage.flutter-io.cn
    
     
    [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
        • Android SDK at /Users/kaibaier/Library/Android/sdk
        • Platform android-30, build-tools 30.0.2
        • ANDROID_HOME = /Users/kaibaier/Library/Android/sdk
        • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
        • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
        • All Android licenses accepted.
    
    [✓] Xcode - develop for iOS and macOS (Xcode 12.4)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • Xcode 12.4, Build version 12D4e
        • CocoaPods version 1.9.3
    
    [!] Android Studio (version 4.1)
        • Android Studio at /Applications/Android Studio.app/Contents
        ✗ Flutter plugin not installed; this adds Flutter specific functionality.
        ✗ Dart plugin not installed; this adds Dart specific functionality.
        • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    
    [✓] VS Code (version 1.52.1)
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.18.1
    
    [✓] Connected device (1 available)
        • Redmi Note 8 (mobile) • 18d3ce30 • android-arm64 • Android 10 (API 29)
    

    For the sake of completion i also add the pubspec.yaml dependencieswith the previous used Version. You will notice the big Version jump in Firebase and Google Maps

    dependencies:
      flutter:
        sdk: flutter
      permission_handler: ^5.0.1+1
      cupertino_icons: ^1.0.0 #^0.1.3
      firebase_core: ^0.7.0 # ^0.5.0 
      firebase_auth: ^0.20.0+1 # ^0.18.0+1
      firebase_storage: ^7.0.0 # ^4.0.0
      cloud_firestore: ^0.16.0 #^0.14.0+2
      provider: ^4.3.3 #^4.3.2
      flutter_spinkit: ^4.1.2+1
      flutter_vector_icons: ^0.2.1
      intl: ^0.16.1
      image_cropper: ^1.3.1
      image_picker: ^0.6.7+21 #^0.6.7+11
      searchable_dropdown: ^1.1.3
      flutter_colorpicker: ^0.3.5 #^0.3.4
      flutter_masked_text: ^0.8.0
      shared_preferences: ^0.5.12+4 #^0.5.8
      path_provider: ^1.6.27 #^1.6.11
      location: ^3.2.4 #^3.0.2
      table_calendar: ^2.3.3 #^2.2.3
      url_launcher: ^5.7.10 #^5.6.0
      google_maps_flutter: ^1.1.1 #^0.5.32
      flutter_google_places: ^0.2.6
      http: ^0.12.2 #^0.12.1
      uuid: ^2.2.2 #^2.0.4
      flutter_appcenter_bundle: ^3.2.0+2
      preload_page_view: ^0.1.4
      device_preview: ^0.5.5 #^0.4.8
      wakelock: ^0.2.1+1 #^0.1.4+2
    

    Any help / ideas or thoughts are very welcome :)

    UPDATE: After trying to run the Test again on my android phone i run into another related error.

        Note: /Users/kaibaier/development/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-0.7.0/android/src/main/java/io/flutter/plugins/firebase/core/FlutterFirebaseCorePlugin.java uses or overrides a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':app:processDebugResources'.
    > Problems reading data from Binary store in /private/var/folders/mw/s9362rr10qv43x_yh6qgm17w0000gn/T/gradle3299415366350440389.bin offset 0 exists? true
    
    * 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.
    

    UPDATE #2: I also posted the issue over here in GitHub https://github.com/FirebaseExtended/flutterfire/issues/4848

    UPDATE #3: Ok i was able to figure out that this file: /private/var/folders/mw/s9362rr10qv43x_yh6qgm17w0000gn/T/gradle3299415366350440389.bin only exists during a build phase. After the error is thrown, it is directly gone again.

    Update #4: I rolled back to the old firebase dependencies for now. Just upgraded the firebase storage. All runs smoothly after some pod and Grasflecks clean. My issue still exists, as I hope to get back to the new versions of firebase dependencies . But for now I can build again .

    • UdaraWanasinghe
      UdaraWanasinghe about 3 years
      did you try cleaning the gradle files ./gradlew clean
    • Bliv_Dev
      Bliv_Dev about 3 years
      Hi, just tried error remains Corrupt serialized resolution result. Cannot find selected module (212) for constraint platform-runtime -> com.google.firebase:firebase-iid:21.0.1
    • UdaraWanasinghe
      UdaraWanasinghe about 3 years
      For ios try doing: pod deintegrate, pod cache clean --all and rm Podfile.lock
    • Bliv_Dev
      Bliv_Dev about 3 years
      iOS is working fine
    • UdaraWanasinghe
      UdaraWanasinghe about 3 years
      could you tell me the gradle version and java version?
    • UdaraWanasinghe
      UdaraWanasinghe about 3 years
      use ./gradlew --version
    • Bliv_Dev
      Bliv_Dev about 3 years
      Sorry for the late reply here it is Gradle 6.5.1 / Kotlin 1.3.72 / Groovy 2.5.11 does this help ?