【Flutter】Android用リリースビルドに失敗したときに試したこと3つ

【Flutter】Android用リリースビルドに失敗したときに試したこと3つ 備忘録

ある日、M1チップ搭載のMacBook AirでAndroid用リリースビルドしてたら、失敗しまくり、エラーでまくりでハマリました。ですが、なんとか抜け出せたので、その対処法と試したことを列挙していきます。

まず、出力されたエラーメッセージの一部を紹介

以下をターミナルで入力した。すると、、、

flutter build apk --release

以下のメッセージが出力され、ビルドに失敗する。(デバッグビルドは成功する)

A problem occurred configuring root project ‘camera’.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

解決までに試したこと

結局これで解決した:パッケージのバージョンを修正する

pubspec.yamlに記載したパッケージのバージョンを以下のように修正しました。

※修正後に『Pub upgrade』するのをお忘れずに

修正前:

pedantic: ^1.9.2
hooks_riverpod: ">=0.12.0 <1.0.0"
flutter_hooks: ">=0.14.0 <1.0.0"
tflite_flutter: ">=0.5.0 <1.0.0"
tflite_flutter_helper: ">=0.1.2 <1.0.0"
camera:
simple_logger: ">=1.7.0 <2.0.0"

修正後:

pedantic:
hooks_riverpod:
flutter_hooks:
tflite_flutter:
tflite_flutter_helper:
camera:
simple_logger:

よくわかりませんが、パッケージ同士の依存関係がうんぬんかんぬんだと思います。

flutter doctorで全部OKにする

flutter関連で不具合があったら、まずは『flutter doctor』をターミナルに打ち込むべきです。

打ち込んだ結果、自分は1つだけ異常でした。

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
  ! Some Android licenses not accepted. To resolve this, run: flutter doctor
   --android-licenses

言われた通り『flutter doctor –android-licenses』するけど、無反応。そうM1チップだからね。(関係あるかは知らん)

ここによると、以下を入力すればいけるらしいのでやってみた。

~/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager --licenses

いけた。(でもパッケージのバージョン修正するまでリリースビルドには失敗)

ちなみに…

上記コマンドは『Android SDK Command-line Tools』がインストールされていないと無効になります。未インストールの方は確認してみてください。

AndroidStudioのSDKManagerからインストールできます。

KeyStoreファイルのパスワードを再確認した

実は、これもリリースビルド失敗の原因だった。ただの凡ミスだ。

key.jksを開いてみたら、パスワードを求められて入力すると間違えてると言われた。ずっと勘違いしていたのだ。

ちなみに、KeyStoreファイルの作成方法は以下の記事で紹介している。

まとめ

解決まで2時間もかかってしまった。

落ち着いて一つ一つ問題を潰していくことが大事ですね。

そして、1回やったしまったミスは2度としないように注意していきたい。

ここまで読んでいただき、ありがとうございます。

コメント

タイトルとURLをコピーしました