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のビルドが失敗した時にも表示されます。
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はここから開くことができます。
開いた後、平仮名、漢字などの全角を含むパスの部分を修正してください。
UdemyでFlutterを学習
Udemyは、オンデマンド式の学習講座です。
趣味から実務まで使えるおすすめの講座を紹介します。
ビックセール開催中(12月19日まで)
対象のコースが1500円から(最大95%OFF)
- Flutterアプリ開発講座(初級編)
Flutterアプリ開発の初歩から学習できて、
Flutter未経験・プログラミング初心者におすすめ
- 【Flutter】UI開発でよく使うWidget50選
Flutterで頻出Widgetを紹介している。
始めたばかりで機能を覚えたい人におすすめ
- The Complete Flutter Development Bootcamp with Dart
GoogleとFlutterチームが共同作成した講座。
本格的なFlutterエンジニアになりたい人におすすめ
パッケージ再インストール
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を実行してください。