Menu Close

Flutter : วิธีแก้ไข Unable to find bundled Java version หลังจากที่อัพเดท Android Studio Fox(2020.3.1) – macOS

หลังจากอัพเกรดเวอร์ชัน Flutter เป็น 2.2.3 และ อัพเดทโปรแกรม Android Studio เป็นเวอร์ชันล่าสุด Arctic Fox 2020.3.1 แล้ว

เมื่อกดเช็คสถานะการติดตั้ง Flutter ปรากฎว่า มีผลกระทบกับ 1) Android toolchain 2) พาทของ Android Studio และ 3) พาทของ Java ในเครื่อง ตามภาพ แต่ยังสามารถรันโปรแกรมและ Emu ของทั้ง iOS และ Android ได้ปกติ แต่ยังไงก็ตามเราต้องการแก้ไขการตั้งค่าให้เป็นปกติทุกขั้นตอน ดังนั้นมาดูวิธีการแก้ไขกันดีกว่า

สำหรับเครื่องที่ติดตั้ง Flutter เป็นเครื่อง macOS BigSur – Intel (เครื่อง mac M1 Apple Silicon ก็พบปัญหานี้เช่นกัน)

ผลการรัน flutter doctor หลังอัพเดทเวอร์ชัน Flutter และ Android Studio

สำหรับการติดตั้ง Flutter และการติดตั้งเครื่องมืออื่นๆให้พร้อมใช้งาน ศึกษาได้จากลิ้งนี้เลย

https://flutter.dev/docs/get-started/install/macos

การแก้ไขการตั้งค่าจะทำการแก้ไข 3 อย่าง ได้แก่

  1. Android license status unknown
  2. Unable to find bundled Java version
  3. Android Studio not found

1. แก้ไข Android license status unknown

1.1 เลือก SDK Manager

1.2 Android SDK > เลือก SDK Tools

1.3 เลือก Android SDK command-line tools แล้วกด OK

1.4 พิมพ์คำสั่ง accept licenses ใน command line

$ flutter doctor --android-licences

เสร็จเรียบร้อย เช็คด้วยการพิมพ์คำสั่ง flutter doctor อีกครั้ง

$ flutter doctor

2. แก้ไข Unable to find bundled Java version

2.1 ทดสอบว่าในเครื่องมีการจำค่า JAVA_HOME หรือไม่ (ปัญหานี้จะเกิดเมื่อเครื่องไม่มีพาทของ JAVA_HOME เมื่อพิมพ์คำสั่งนี้ไปจะได้ค่าว่างคืนมา) พิมพ์คำสั่ง

$ echo $JAVA_HOME

2.2 เข้าไปที่พาทของ JRE ใน Android Studio และ สร้าง short cut ของโฟลเดอร์ jre ในชื่อ jdk ด้วย command line

$ cd /Applications/Android\ Studio.app/Contents/jre
$ ln -s ../jre jdk

2.3 ตั้งค่า JAVA_HOME ในไฟล์ .zshrc (สามารถใช้โปรแกรม vi, nano ในการแก้ไขไฟล์ .zshrc ได้ตามถัด) ตัวอย่างจะใช้ vi

$ vi ~/.zshrc

2.4 พิมพ์คำสั่ง เซ็ตค่า JAVA_HOME เพิ่มเข้าไป (กด i เพื่อพิมพ์เพิ่มเติม เมื่อพิมพ์เสร็จแล้วกดปุ่ม esc เพื่อยกเลิกการเพิ่ม และกด :qw เพื่อบันทึกและออกจากโปรแกรม vi)

export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home"

2.5 หลังจากที่เพิ่มพาท JAVA_HOME เรียบร้อยแล้ว ให้พิมพ์คำสั่ง source ~/.zshrc เป็นอันเสร็จเรียบร้อย

$ source ~/.zshrc

2.6 เสร็จเรียบร้อย เช็คด้วยการพิมพ์คำสั่ง flutter doctor อีกครั้ง

3. แก้ไข Android Studio not found

3.1 ให้ตั้งค่าพาทของ Android Studio ใหม่ ใช้คำสั่ง flutter config –android-studio-dir (พาทของโปรแกรม Android Studio)

$ flutter config --android-studio-dir ../../Applications/Android\ Studio.app/Contents

3.2 เสร็จเรียบร้อย ลองเช็คด้วยคำสั่ง flutter doctor เพื่อตรวจสอบการตั้งค่าทั้งหมดอีกครั้ง

อ้างอิง

  1. https://stackoverflow.com/questions/68569430/flutter-unable-to-find-bundled-java-versionflutter-doctor-after-updated-andro
  2. https://stackoverflow.com/questions/61993738/flutter-doctor-android-licenses-gives-a-java-error

Posted in flutter

ใส่ความเห็น