flutterを使用してfirebaseのデータを取得しようとしましたが、androidのビルド時にエラーが発生しハマったので備忘録として解決方法を記述します。
エラーは下記
* What went wrong:
Execution failed for task ':app:processDebugGoogleServices'.
> No matching client found for package name 'com.tns.youtube_app'
まずこのエラーが ‘com.tns.youtube_app’ というpackage name が 一致していません。という内容
ここに早く気づくべきでした。
いろいろ調べていると下記記事にヒット。
この記事に
No matching client found for package name ‘com.tf’ I am pretty sure that the “package_name” in google-services.json is not matching with your “applicationId” in app gradle.
とあります。
google-services.jsonの package_nameとapp gradleのapplicationIdは一致する必要があるみたいです。確認します。
google-servises.json
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.tns.youtube_app"
minSdkVersion 16
targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
multiDexEnabled true
}
app/build.gradle
{
"project_info": {
// 省略
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "xxxxxxxxxxxxx",
"android_client_info": {
"package_name": "com.tns.youtubeApp"
}
},
com.tns.youtube_app と com.tns.youtubeApp で異なるので google-services.jsonの方に合わせともう一度buildし直すと解決しました。