PhoneGap/Cordova

เมื่อเพิ่ม Android ใน PhoneGap ไม่ได้เพราะ Java หาย?!

เรื่องที่เกี่ยวข้อง - Android, Java, PhoneGap troubleshoot

อันนี้เป็นเคล็ดแก้ปัญหาที่เจอกันในรอบ ที่ผ่านมาครับ เครื่อง Mac ของพี่เหล็งที่มาอบรม มันเพิ่ม Android เป็น platform ให้โปรเจค PhoneGap ไม่ได้ เลยมานั่งหาสาเหตุกัน โดยข้อความจะขึ้นเดือนแบบนี้

Teerasejs-iMac:App teerasejjiraphatchandej$ cordova platform add android

Checking Android requirements...

[Error: ERROR : Make sure JAVA_HOME is set, as well as paths to your JDK and JRE for java.]

ไอหย๋า จู่ๆ ไม่มีปี่ไม่มีขลุ่ย ไม่สามารถเพิ่ม Android เข้าไปในโปรเจคเพราะ JAVA_HOME หาย!

ถึงแม้ว่าเราจะลองติดตั้ง Java เพิ่มเติม (เพราะคาดเอาไว้ว่าน่าจะเป็นเพราะ OS X Mavericks)

ก็ไม่เป็นผล เพราะการ install 2 ตัวด้านบน ระบบได้ติดตั้ง Java ลงไปในเครื่องเราแล้ว แต่ Android SDK ของเราหา Java ไม่เจอแจ้

ทางเราเลยแก้ด้วยวิธีนี้ครับ

วิธีแก้ก็ตั้งค่า JAVA_HOME ลงไปใน .bash_profile ซะเลย

1. เปิด .bash_profile ขึ้นมาซะก่อน

เราควรจะมี bash_profile จากวิธีการติดตั้ง Android SDK และ ADT ในบทความนี้อยู่แล้ว ก็พิมพ์ชุดคำสั่งด้านล่างทั้งหมดเพื่อเปิด bash_profile ขึ้นมา ซึ่งผมจะเปิดใน TextEdit

$ cd ~/
$ open -e .bash_profile

 

2. จากนั้นใส่ path ของ Java ลงไปแบบนี้

ใส่ตามตัวอย่างด้านล่างลงไป และทำการบันทึกไฟล์ครับ ส่วนที่เห็นด้านบนคือ Android SDK path ที่ตั้งค่าไว้ในบทความเตรียมเครื่อง OS X ให้พร้อมสำหรับ Android app ก่อนหน้านี้

export PATH=${PATH}:/Applications/adt-bundle-mac/sdk/tools:/Applications/adt-bundle-mac/sdk/platform-tools:

export JAVA_HOME=$(/usr/libexec/java_home)

 

3. ลองเพิ่ม Android platform ใหม่

จากนั้นให้ปิดแล้ว เลือกได้ว่าจะปิดและเปิด Terminal ใหม่เพื่อลองเพิ่ม Android platform อีกครั้ง หรือจะใช้คำสั่งด้านล่างใน Terminal ก่อนที่จะลองสั่งเพิ่ม Android platform อีกครั้งก็ได้ครับ

source .bash_profile

 

ทิ้งท้าย

ตอนที่ผมเขียนบทความนี้อยู่ ไม่ทราบสาเหตุแน่ชัดว่าทำไมจู่ๆ JAVA_HOME หายไป?? เพราะตอนที่ผมอัพเดตมาเป็น OS X Mavericks 10.9 นั้น ระบบจะเตือนให้ download Java มาติดตั้งโดยอัตโนมัติ และไม่มีปัญหาอะไรจนถึงปัจจุบัน แต่เครื่องที่เจอปัญหาเป็น MacBook Air 2013 ถอยมาสดๆ เพื่อมาเรียน PhoneGap ของคุณเหล็งเลย ใครเจอแบบเดียวกัน comment คุยกันด้านล่างได้เลยครับ จะได้รวบรวมข้อมูลให้เป็นประโยชน์สำหรับคนอื่นๆ ต่อไป

UPDATE: ตอนนี้ลูกศิษย์ผมอีกคนยืนยันมาว่าเจอปัญหากับเครื่อง Mac OS X ใหม่เช่นกันครับ

สนใจเรื่อง Web Design, Adobe for Web, และ PhoneGap ฝาก Email รับบทความใหม่ๆ จากผมได้ที่นี่ครับ

ดูเนื้อหารวมเรื่อง PhoneGap ได้ที่ nextflow.in.th/phonegap

เริ่มต้นยุค AI ด้วยคอร์สฟรี และพรีเมี่ยม กับพล

หากชอบสิ่งที่พลเล่า เรื่องที่พลสอน สามารถสนับสนุนพลโดยการเข้าเรียนคอร์สออนไลน์ของพลนะคร้าบ

  • เข้าใจง่าย ใช้ได้จริง ออกแบบการสอนอย่างเข้าใจโดยโค้ชพล
  • มีคอร์สสำหรับคนใช้งานทั่วไป จนถึงเรียนรู้เพื่อใช้งานในสายอาชีพขั้นสูง
  • ทุกคอร์สมีใบประกาศณียบัตรรับรองหลังเรียนจบ

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save