Flutterでの様々なエラー対処法まとめ
はじめに
Flutterでアプリ開発をしていると、色々なエラーに遭遇することがあります。この記事では、私が開発中に遭遇したエラーとその対処法をまとめました。これらの情報が、同じエラーに悩む方々の助けとなれば幸いです。
ラムダ式を使用可能にするには、-source 8以上を使用してください
Flutter runにdebugを追加して実行した時にこんなエラーがでることがあります。
flutter run --debug
たまに出力結果の日本語が文字化けしていることがあります。 Consoleの文字コードが異なるからです。
C:\Users\kenpos\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\location-4.2.0\android\src\main\java\com\lyokone\location\FlutterLocation.java:280: エラー: ラムダ
式は-source 1.7でサポートされていません
mMessageListener = (message, timestamp) -> {
^
(ラムダ式を使用可能にするには、-source 8以上を使用してください)
エラー1個
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileReleaseJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 3s
Exception: The plugin location could not be built due to the issue above.
文字コードの変更
chcp 932
これで文字コードをshift_jisに差し替えてください。
エラーの解決方法
Java7までだとラムダ式に対応していないのでJAVA8を動かせるようにします。
Android Studioを開いて、File → Project Structure → Project を開き設定を下のようにします。
これでプロジェクトが治るはずです。
pub finished with exit code 69
flutter pub cache repairを動かすと、 pub finished with exit code 69 が出ることがあります。 エラーの出力例としてはこんなのが出ます。
For solutions, see https://dart.dev/go/unsound-null-safety
Binstubs exist for non-activated packages:
From devtools: devtools
Failed to reactivate 1 package:
- devtools
pub finished with exit code 69
解決策にはこれを叩きましょう。
flutter packages get
これで再度下記のコマンドを実行します。
正常終了してるっぽいですね。
flutter pub cache repair
Downloading adobe_xd 2.0.0+1...
Downloading _fe_analyzer_shared 21.0.0...
Downloading _fe_analyzer_shared 22.0.0...
Reinstalled 194 packages.
Binstubs exist for non-activated packages:
From devtools: devtools
Minimum supported Gradle version is 6.5. Current version is 5.4.1. If using the gradle wrapper
この手のエラーに対応していきましょう
* What went wrong:
A problem occurred evaluating root project 'location'.
> Minimum supported Gradle version is 6.5. Current version is 5.4.1. If using the gradle wrapper, try editing the distributionUrl in C:\Users\kenpos\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\location-4.2.0\android\gradle\wrapper\gradle-wrapper.properties to gradle-6.5-all.zip
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan
to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 58s
Exception: The plugin location could not be built due to the issue above.
修正方法
C:\Users\kenpos\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\location-4.2.0\android\gradle\wrapper\gradle-wrapper.properties
開くと中に書いてあるファイルを書き換えます。
#Sun Feb 16 18:22:06 CET 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
これで上のエラーは解決します。
FAILURE: Build failed with an exception.
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine the dependencies of task ':compileReleaseAidl'.
> SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your
project's local properties file at 'C:\Users\kenpos\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\location-4.2.0\android\local.properties'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan
to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1m 3s
Exception: The plugin location could not be built due to the issue above.
解決方法
ANDROID_SDK_ROOTをシステム環境変数に設定します。 変数名は、ANDROID_SDK_ROOT 変数値は、C:\Users{user名}\AppData\Local\Andoid\Sdk
これで動かし直せば動きます。
まとめ
この記事では、Flutter開発中に遭遇した様々なエラーとその対処法をまとめました。これらの情報が、同じエラーに悩む方々の助けとなれば幸いです。今後も新たなエラーに遭遇した際には、この記事を更新していくつもりですので、お役に立てる情報があればお気軽にご利用ください。