FlutterをAndroidのエミュレータでアプリを動作させようとすると、「Build faild with an exception.」というエラーで実行ができない場合があります。
この時、考えられる原因と対処方法を紹介します。
- FlutterでAndroidのエミュレータを動かせない
- Build faild with an exception.を解決したい
ConoHaWing開設方法|アリッシア
技術ブログを書くべき理由|アリッシア
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はここから開くことができます。
開いた後、平仮名、漢字などの全角を含むパスの部分を修正してください。
ブログを運営するメリット
プログラマーがブログを運営するメリットは沢山あります。
エンジニアはブログを運営するべき理由|アリッシア
- アウトプットによるスキル向上
- メモ帳代わり
- ポートフォリオ(案件獲得)
ブログを始めるためには、「テーマ」・「ドメイン」・「サーバー」の3つが必要です。
3つはブログ運営の基盤となる要素ですが、これら全て自分で用意しなければいけません。
面倒で難しくブログ開設を断念してしまう人が多いです。
ConoHa Wingの「WordPressかんたんセットアップ」は
最短10分で契約可能!
ConoHa WINGから契約をすれば、独自ドメイン、サーバーの用意、WordPressとの連携も簡単にできます。
さらに、2つの独自ドメインが永久無料の特典もあり、
月660円からの破格価格にもかかわらず、表示速度は国内最速です。
パッケージ再インストール
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を実行してください。