FlutterをAndroidのエミュレータでアプリを動作させようとすると、「Build faild with an exception.」というエラーで実行ができない場合があります。
この時、考えられる原因と対処方法を紹介します。
- FlutterでAndroidのエミュレータを動かせない
- Build faild with an exception.を解決したい
Build faild with an exception.
Build faild with an exception.ーこのエラー文は、Androidのアプリケーション・ゲームを実行またはビルドした時に問題点があると表示されるものです。
Flutterの他に、Unityのビルドが失敗した時にも表示されます。
FlutterでAndroidアプリを作成する方法をまとめています。
app_plugin_loaderの保管場所
ほとんどの人は、app_plugin_loaderの保管が適切ではないことが考えられます。
警告文に追従して、問題点が挙げられています。
要するに、app_plugin_loaderが存在しないと判断されています。
*What went wrong:
A problem occurred evaluating setting "android".
>Could not read script "C:\Users(USERNAME)\Desktop\@?????????\flutter\packages
\flutter_tools\gradle\app_plugin_loader.gradle" as it does not exist.
しかし、表示されたパスには、しっかりとflutterが保管されています。
原因は、パスに全角文字が含まれることです。
全角では、その部分は「?」に置き換えられています。
スクリプトを読み取ることができず、認識することができません。
flutterで環境構築するときは、配置する場所は全角文字のなくパスが複雑にならない場所に配置するべきです。
対処法
対処は簡単で、半角のみのパスを指定してください。
settings.jsonを開いて、「dart.flutterSdkPath」の内容を変更します。
settings.jsonは、一般的にFlutterがインストールされたPCのパス「C:\Users\(USERNAME)\AppData\Roaming\Code\User\settings.json」から開くことができます。
あるいは、VScodeを再度起動してください。
The SDK configured in dart.flutterSdkPath is not a vaild SDK folder.
SDKフォルダーが有効ではないと警告されています。
settings.jsonはここから開くことができます。
開いた後、平仮名、漢字などの全角を含むパスの部分を修正してください。
Flutterの情報が少なすぎる
世界中で多くの企業や開発者がFlutterを採用しつつあります。
しかし、2018年に誕生し歴史の浅いので情報が少ないです。
日本のFlutterエンジニアが多くないので、
今から始めれば将来的に重宝される人材になります。
Udemyは動画を見ながら自分のペースで学習できます。
数多くあるコースの中からおすすめを3つ挙げます。
パッケージ再インストール
dart.flutterSdkPathを変更すると、パッケージが変更・破損するので、widgetがエラーを起こします。
これを修正しなければいけません。
flutter pub cache repair
flutter pub cache repairは、pubspec.yamlのパッケージすべてをインストールします。
ターミナルに入力して、実行してください。
flutter pub cache repairを実行すると、パッケージがインストールされます。
その後、「Flutter run」を実行させてください。
パッケージすべてをダウンロードするので、少し時間がかかります。
完了後、F5、デバックを実行してください。
エミュレータで動作できるようになります。
まとめ
Androidエミュレータを実行しようとしたときに、Build faild with an exception.が表示されてビルドできなかった場合、dart.flutterSdkPathに全角の文字が含まれることが考えられます。
その場合は、settings.jsonからパスを半角に変更することで解決できます。
さらに、パッケージが変更・破損してビルドできない場合は、ターミナルでflutter pub cache repairを実行してください。