TAKOYAKING’s blog 一覧

TAKOYAKING’s blog

たこ焼き系

Unity: Firebaseでエラーが出た「Unable to find command line tool python required for Firebase Android resource generation. python is required to generate the Firebase Android resource file google-services.xml from Assets/FirebaseConfig/GoogleService-Info.plist. Wi

状況

Unable to find command line tool python required for Firebase Android resource generation.
python is required to generate the Firebase Android resource file google-services.xml from Assets/FirebaseConfig/GoogleService-Info.plist. Without Firebase Android resources, your app will fail to initialize.
python was distributed with each Firebase Unity SDK plugin, was it deleted?

のようなエラーが出てしまい、
/Assets/Plugins/Android/FirebaseApp.androidlib/res/values/google-services.xml
が生成できなくなってしまいました。

環境

  • Firebase 7.2.0
  • Mac Ventura 13.4.1
  • Unity 2020.3.0f
  • Unity 2021.31f

原因

[Unity]Unable to find command line tool python required for Firebase Android resource generation.

この記事によるとMacのOSを上げてしまったことでMacpythonが削除されて、python3がデフォルトになったため、Firebase側からpythonというコマンドを実行できなくなってしまうことが原因のようでした。

失敗策

上の記事ではFirebaseのライブラリを修正したものを上書きすると書いてあったのですが、package managerからインストールする形式にしているので、上書きというのはできなさそうです。(残念ながら断念)

なので、pythonをインストールしてみます。

元々pyenvでpythonの環境はあったのですが、動かなくなっていたので以下の記事を参考にしました。
zenn.dev
~/.zshrc に以下を追加してあげれば動くようになりました。

eval "$(pyenv init --path)"

~/.zshrcを反映

source ~/.zshrc

Unityに戻って動くか試してみると、generate_xml_from_google_services_json.pyは動いてないようです。
失敗ですw

解決策

kingmo.jp
Firebaseをアップデートしてみます。
どうやら9.0.0以上ならOKなようです。
11.3.0へアップデートしました。

Android buildすると以下のメッセージが出ました

java.lang.AssertionError: annotationType(): unrecognized Attribute name MODULE (class com.sun.tools.javac.util.UnsharedNameTable$NameImpl)

qiita.com
この記事を参考にするとgradleのバージョンが古いので、Unityのバージョンをあげると、gradleのバージョンも上がるとのことだったので、Unity 2022.3.11にあげたらいけましたが、他のエラーがまた出てきたので、長くなりそうなので、また別記事にします。