0
0

FlutterでのFirebase関連のビルドエラー(android)とその解決方法

Posted at

FlutterAndroidでプロジェクトをビルドする際に、Firebase関連でいくつかのエラーが発生しました。この記事では、それらのエラーとその解決方法について詳しく説明します。特に、android/build.gradleandroid/app/build.gradleの変更点に焦点を当てています。

1. Firebase関連のビルドエラー

エラー内容

ビルド時に以下のエラーが発生しました。

Error while evaluating property 'extraGeneratedResDir' of task ':app:mapDebugSourceSetPaths'

解決方法

このエラーは、FirebaseのGradleプラグインのバージョンが古いために発生することがあります。解決するためには、android/build.gradledependenciesセクションを以下のように更新する必要があります。

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"
}

2. 64Kメソッド制限の問題

エラー内容

ビルド時に以下のエラーが発生しました。

ERROR:D8: Cannot fit requested classes in a single dex file (# methods: 66746 > 65536)

解決方法

このエラーは、アプリケーションのメソッド数が64Kを超えた場合に発生します。解決するためには、android/app/build.gradleに以下の設定を追加する必要があります。

defaultConfig {
    ...
    multiDexEnabled true
}

dependencies {
    ...
    implementation 'androidx.multidex:multidex:2.0.1'
}

注意: 上記の変更はandroid/build.gradleではなく、android/app/build.gradleに追加する必要があります。

3. Gradleのクリーンとビルド(補足)

エラーの解消後、プロジェクトのビルドを確実に行うために、Gradleのクリーンとビルドを実行することをおすすめします。これにより、前回のビルド時に生成された一時ファイルやキャッシュがクリアされ、新しい設定でのビルドが正確に行われます。

実行方法

Terminalやコマンドプロンプトを開き、プロジェクトのandroidディレクトリに移動して、以下のコマンドを実行します。

./gradlew clean
./gradlew build

これにより、Gradleがプロジェクトをクリーンし、その後ビルドを行います。

参考記事

Flutter3.10.0での新規プロジェクトにFirebaseを導入した際、Android向けビルドでエラーが出る現象の解決方法
android/build.gradleの変更に関する情報が提供されています。この記事と同様の内容を参考にして、問題を解決することができました。


以上、FlutterプロジェクトでのFirebase関連のビルドエラーとその解決方法についての説明でした。同様の問題に直面している方の参考になれば幸いです。


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0