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

อันนี้เป็นเคล็ดแก้ปัญหาที่เจอกันในรอบฝึกอบรม PhoneGap ที่ผ่านมาครับ เครื่อง 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

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Menu