🫠

Flutter3.10.0での新規プロジェクトにFirebaseを導入した際、Android向けビルドでエラーが出る現象の解決方法

2023/05/27に公開1

起きたこと

Flutter3.10.0で新規にプロジェクトを作成し、firebase_coreをプロジェクトに追加したところ、Android向けにアプリをビルドした際に次のエラーが発生するようになりました。

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mapDebugSourceSetPaths'.
> Error while evaluating property 'extraGeneratedResDir' of task ':app:mapDebugSourceSetPaths'
   > Failed to calculate the value of task ':app:mapDebugSourceSetPaths' property 'extraGeneratedResDir'.
      > Querying the mapped value of provider(java.util.Set) before task ':app:processDebugGoogleServices' has completed is not supported

エラーが発生した原因

まず、プロジェクトでのandroid/build.gradleを確認すると、次のようになっています。

dependencies {
    classpath 'com.android.tools.build:gradle:7.3.0'
    // START: FlutterFire Configuration
    classpath 'com.google.gms:google-services:4.3.10'
    // END: FlutterFire Configuration
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}

Flutter3.7.x系では、classpath 'com.android.tools.build:gradle:7.3.0'部分はclasspath 'com.android.tools.build:gradle:7.2.0'でした。
ただ、Flutter3.10.0でバージョンが7.3.0に更新されたことで、'com.google.gms:google-services:4.3.10'と互換性がなくなり、エラーが起きているようです。

解決方法

android/build.gradleを次のように更新すると、エラーが解消します。

dependencies {
    classpath 'com.android.tools.build:gradle:7.3.0'
    // START: FlutterFire Configuration
    classpath 'com.google.gms:google-services:4.3.14' // <-ここでのバージョンを、4.3.10から4.3.14に更新
    // END: FlutterFire Configuration
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}

参考資料

https://stackoverflow.com/questions/72224454/execution-failed-for-task-appmapdebugsourcesetpaths-error-while-evaluatin

Discussion

kotapjpkotapjp

ありがとうございます!この記事を読んで同じ問題の解決ができました!