質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

Q&A

0回答

562閲覧

Flutter開発環境構築でJavaのバージョン指定がうまくいかない

tmsah

総合スコア101

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

0グッド

0クリップ

投稿2023/06/05 15:29

flutter初心者です。
flutterを用いたAndroidアプリ開発のための環境構築についてお聞きします。

実現したいこと

flutter環境を構築し、PCにAndroid端末を繋いで初期プロジェクトをflutter runしたところ、後述のエラーによってビルドができませんでした。
エラーメッセージにはAndroid Gradle plugin requires Java 11 to run. You are currently using Java 1.8.と書かれていました。
flutter doctor -vを行って使われているJavaのバージョンを確認するとJava version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)と書かれていて、確かにJava 1.8を使っていることになってました。

このエラーを解消し、flutter runしたプロジェクトをAndroid実機で動作確認を行えるようにしたいです。
java --versionコマンドで確認するとJava 14が表示されたので手元にJava自体はあるようで、このバージョンをflutter runした時に使うようにしたら解決するんじゃないかなと考えてbuild.gradleに書かれているclasspathやJavaのバージョン情報を書き換えたりしましたが以前としてエラーが解消されていません。

バージョン更新のための手順ついて何かご存知の方がおられましたらご教授いただけるとありがたく思います。
よろしくお願いいたします。

前提

flutter doctor -vの結果は次の通りです。

txt

1$ flutter doctor -v 2[✓] Flutter (Channel stable, 3.10.1, on macOS 13.3.1 22E772610a darwin-x64, locale ja-JP) 3 • Flutter version 3.10.1 on channel stable at /usr/local/bin/flutter 4 • Upstream repository https://github.com/flutter/flutter.git 5 • Framework revision d3d8effc68 (3 weeks ago), 2023-05-16 17:59:05 -0700 6 • Engine revision b4fb11214d 7 • Dart version 3.0.1 8 • DevTools version 2.23.1 9 10[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0) 11 • Android SDK at /Users/hoge/Library/Android/sdk 12 • Platform android-31, build-tools 30.0.0 13 • Java binary at: /Users/hoge/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.6858069/Android 14 Studio.app/Contents/jre/jdk/Contents/Home/bin/java 15 • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593) 16 • All Android licenses accepted. 17 18[✓] Xcode - develop for iOS and macOS (Xcode 14.3) 19 • Xcode at /Applications/Xcode.app/Contents/Developer 20 • Build 14E222b 21 • CocoaPods version 1.11.3 22 23[✓] Chrome - develop for the web 24 • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome 25 26[✓] Android Studio (version 4.1) 27 • Android Studio at /Users/hoge/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.6858069/Android Studio.app/Contents 28 • Flutter plugin can be installed from: 29 🔨 https://plugins.jetbrains.com/plugin/9212-flutter 30 • Dart plugin can be installed from: 31 🔨 https://plugins.jetbrains.com/plugin/6351-dart 32 • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593) 33 34[✓] IntelliJ IDEA Community Edition (version 2020.1.4) 35 • IntelliJ at /Applications/IntelliJ IDEA CE.app 36 • Flutter plugin version 51.0.2 37 • Dart plugin version 201.9002 38 39[✓] VS Code (version 1.78.1) 40 • VS Code at /Applications/Visual Studio Code.app/Contents 41 • Flutter extension version 3.64.0 42 43[✓] Connected device (3 available) 44 • J3173 (mobile) • XXXXXXXXXX • android-arm64 • Android 9 (API 28) 45 • macOS (desktop) • macos • darwin-x64 • macOS 13.3.1 22E772610a darwin-x64 46 • Chrome (web) • chrome • web-javascript • Google Chrome 113.0.5672.126 47 48[✓] Network resources 49 • All expected network resources are available.

また、java環境も手元には入っています。

txt

1$ java --version 2java 14.0.1 2020-04-14 3Java(TM) SE Runtime Environment (build 14.0.1+7) 4Java HotSpot(TM) 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing) 5 6$ echo $JAVA_HOME 7/Library/Java/JavaVirtualMachines/jdk-14.0.1.jdk/Contents/Home

発生している問題・エラーメッセージ

エラーメッセージは次の通りです。

txt

1$ flutter run 2Launching lib/main.dart on J3173 in debug mode... 3 4FAILURE: Build failed with an exception. 5 6* Where: 7Build file '/Users/hoge/work/flutter/hoge/android/app/build.gradle' line: 24 8 9* What went wrong: 10A problem occurred evaluating project ':app'. 11> Failed to apply plugin 'com.android.internal.application'. 12 > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. 13 You can try some of the following options: 14 - changing the IDE settings. 15 - changing the JAVA_HOME environment variable. 16 - changing `org.gradle.java.home` in `gradle.properties`. 17 18* Try: 19Run 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. 20 21* Get more help at https://help.gradle.org 22 23BUILD FAILED in 1s 24Running Gradle task 'assembleDebug'... 1,690ms 25 26┌─ Flutter Fix ───────────────────────────────────────────────────────────────────────────────────────────────────┐ 27│ [!] You need Java 11 or higher to build your app with this version of Gradle. │ 28│ │ 29│ To get Java 11, update to the latest version of Android Studio on https://developer.android.com/studio/install. │ 30│ │ 31│ To check the Java version used by Flutter, run `flutter doctor -v`. │ 32└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 33Exception: Gradle task assembleDebug failed with exit code 1

該当のソースコード

どの情報が必要なのか私自身よく把握できていないため、gradle関係のファイル内容を記載します。

./android/build.gradleの内容は次の通りです。

gradle

1buildscript { 2 ext.kotlin_version = '1.7.10' 3 repositories { 4 google() 5 mavenCentral() 6 } 7 8 dependencies { 9 classpath 'com.android.tools.build:gradle:7.0.2' 10 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 } 12} 13 14allprojects { 15 repositories { 16 google() 17 mavenCentral() 18 } 19} 20 21rootProject.buildDir = '../build' 22subprojects { 23 project.buildDir = "${rootProject.buildDir}/${project.name}" 24} 25subprojects { 26 project.evaluationDependsOn(':app') 27} 28 29tasks.register("clean", Delete) { 30 delete rootProject.buildDir 31}

./android/app/build.gradleの内容は次の通りです。

gradle

1def localProperties = new Properties() 2def localPropertiesFile = rootProject.file('local.properties') 3if (localPropertiesFile.exists()) { 4 localPropertiesFile.withReader('UTF-8') { reader -> 5 localProperties.load(reader) 6 } 7} 8 9def flutterRoot = localProperties.getProperty('flutter.sdk') 10if (flutterRoot == null) { 11 throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") 12} 13 14def flutterVersionCode = localProperties.getProperty('flutter.versionCode') 15if (flutterVersionCode == null) { 16 flutterVersionCode = '1' 17} 18 19def flutterVersionName = localProperties.getProperty('flutter.versionName') 20if (flutterVersionName == null) { 21 flutterVersionName = '1.0' 22} 23 24apply plugin: 'com.android.application' 25apply plugin: 'kotlin-android' 26apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" 27 28android { 29 namespace "com.example.hoge" 30 compileSdkVersion flutter.compileSdkVersion 31 ndkVersion flutter.ndkVersion 32 33 compileOptions { 34 sourceCompatibility JavaVersion.VERSION_11 35 targetCompatibility JavaVersion.VERSION_11 36 } 37 38 kotlinOptions { 39 jvmTarget = '1.8' 40 } 41 42 sourceSets { 43 main.java.srcDirs += 'src/main/kotlin' 44 } 45 46 defaultConfig { 47 // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). 48 applicationId "com.example.hoge" 49 // You can update the following values to match your application needs. 50 // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. 51 minSdkVersion flutter.minSdkVersion 52 targetSdkVersion flutter.targetSdkVersion 53 versionCode flutterVersionCode.toInteger() 54 versionName flutterVersionName 55 } 56 57 buildTypes { 58 release { 59 // TODO: Add your own signing config for the release build. 60 // Signing with the debug keys for now, so `flutter run --release` works. 61 signingConfig signingConfigs.debug 62 } 63 } 64} 65 66flutter { 67 source '../..' 68} 69 70dependencies { 71 implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" 72}

./android/gradle.propertiesの内容は次の通りです。

properties

1org.gradle.jvmargs=-Xmx1536M 2android.useAndroidX=true 3android.enableJetifier=true

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問