広告 開発

flutterfire configureを実行後にfirebase_options.dartが生成されない

flutterfire configureを実行後にfirebase_options.dartが生成されない
悩んでいる人
悩んでいる人
Flutterの環境構築をしていて、Firebaseと繋げようと手順通りにflutterfire configureを実行したのに、なぜかfirebase_options.dartが生成されない。

 

こんな疑問を解決していきます。

 

本記事の内容
  1. FlutterFire CLIを利用してFlutterとFirebaseの環境構築する方法
  2. firebase_options.dartが生成されない場合の対応法

 

簡単に自己紹介

自己紹介

Flutter案件に携わることになりそうだったため、Flutterに触って勉強していたところ、Firebaseと繋ぎこむときに手間取りました。

 

Flutter勉強中の人など、同じところでつまずく人に向けて本記事を残します。

FlutterFire CLIを利用してFlutterとFirebaseの環境構築する方法

Flutterでスマホアプリ等を開発する際、バックエンドでおすすめなのがFirebaseです。

 

認証機能やデータベースなどを手軽に構築することができ、アプリに必要な機能を数行のコードで組み込むことができます。サーバー管理などに手間をかけず、開発に集中することができます。

 

Flutterの開発環境が済んでいて、自身で作成したFirebaseのプロジェクトと繋ぎ込みをしていくのに便利なのが、FlutterFire CLIです。コマンドを実行するだけで、簡単にFlutterとFirebaseを繋ぎこむことができます。

 

手順をまとめると以下の通り。
(Flutterの環境構築は済んでいる前提です。)
(リリースはiOSとAndroidを想定しています。)

手順

  1. Firebase CLIをインストール
  2. コマンド「firebase login」でGoogleアカウントにログイン
  3. flutterfire_cliを有効にする
  4. コマンド「flutterfire configure」を実行
    (リリース予定の端末を聞かれるので、iOSとAndroidを選択)
  5. コアプラグインをインストール
  6. 初期化

という流れに沿って繋ぎ込みをしていきます。

 

難しく見えるかもしれませんが、firebaseのマニュアルに沿って行うだけで基本的には問題なくいけます。
(ここでは一つずつに手順の解説は割愛させていただきます。)

flutterfire configureを実行してfirebase_options.dartが生成されない

今回、僕もこのマニュアルに沿って、FlutterとFirebaseの繋ぎこみをしていたのですが、何かがおかしいことに気づきました。

 

コマンド「flutterfire configure」を実行をすると、lib/firebase_options.dartが生成されるはずなのですが、それが生成されていませんでした。

 

ちなみに僕の環境は以下です。

  • PC:MacBook Air(M1チップ)
  • Flutterバージョン:3.29.0
  • Firebase CLIバージョン:13.31.1
  • flutterfire CLIバージョン:1.0.1

 

ちなみに、flutterfire configureを実行した際に
「Which Android application id (or package name) do you want to use for this configuration, e.g. 'com.example.app'?」
とAndroidのアプリケーションIDを教えてくださいというような指示が出たら、同じ現象の可能性が高いです。問題なく実行できる場合は、このようなことを聞いてきません。

原因

原因なのですが、いろいろ調べた結果、以下の海外の記事が参考になりました。

>>stackoverflowの記事

 

原因は、firebase_options.dartを生成する際に用いる3つのファイルが見つからないことが原因みたいです。

見つからない3つのファイル

  • android/app/build.gradle
  • android/build.gradle
  • android/settings.gradle

 

Flutterの現在の最新バージョン(3.29.0)では、上記の3つファイルは以下のような拡張子で生成されていると思います。

3つのファイル

  • android/app/build.gradle.kts
  • android/build.gradle.kts
  • android/settings.gradle.kts

 

おそらくですが、Flutterの最新バージョン(3.29.0)では拡張子.gradle.ktsを作成するが、FlutterFire CLIの最新バージョン(1.0.1)は.gradleを探しに行くことが原因みたいです。

 

対応方法

一時的に3つのファイルの拡張子を.gradleに変更してから、コマンド「flutterfire configure」を実行しましょう。

 

そして、無事にlib/firebase_options.dartが生成されているのが確認できたら、3つのファイルの拡張子を元に戻しましょう。

 

コマンドをまとめると以下の通りです。(全てプロジェクトディレクトリで実行してください。)

 zshmv android/settings.gradle.kts android/settings.gradle
mv android/build.gradle.kts android/build.gradle
mv android/app/build.gradle.kts android/app/build.gradle
flutterfire configure
mv android/settings.gradle android/settings.gradle.kts
mv android/build.gradle android/build.gradle.kts
mv android/app/build.gradle android/app/build.gradle.kts

 

以上の方法で、問題なくfirebaseと接続ができています。

 

最後に Google公式がそのうち修正するでしょう

本記事では、FlutterとFirebaseの繋ぎ込みの際に、firebase_options.dartが生成されない問題について、対応方法をまとめてみました。

 

Flutterを触るのは僕自身初めてで、バージョンによるバグだと思うのでかなり手こずってしまいました。

 

Googleがそのうち修正してくれる問題だと思いますが、同じ問題に当たった人の参考になれば嬉しいです。

 

本記事は以上です。

スポンサーリンク

  • この記事を書いた人

ノン

【経歴】
社内SEに配属→プログラミングに魅了→独学→1人でWeb制作&システム開発→これで食っていきたいと思い勢いで独立→お仕事を受けながら個人開発に勤しむ
【保有資格】
基本情報/応用情報/情報処理安全確保支援士
【技術】
Next.js/Laravel/WordPress/VBA/GAS etc

当ブログではプログラミング/システム開発に関することを発信しています。

-開発
-, ,