June 21, 2014

สิ่งที่ควรรู้เกี่ยวกับ Android Studio

คือมันกำลังพัฒนาอยู่ เพราะฉะนั้นหากมันทำงานไม่ได้ หรือแจ้ง ERROR เป็นเรื่องปกติ

Android Studio (Preview) 0.6.1

1. เมื่อติดตั้งเสร็จเรียบร้อย เปิดใช้งานโปรแกรมสร้าง Project แล้วคุณจะเจอ ERROR แรก ต้อนรับคือ


Error:Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the user guide chapter on the daemon at http://gradle.org/docs/1.10/userguide/gradle_daemon.html
Please read below process output to find out more:
-----------------------
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

คำถามที่เกิดในหัวคือ มันคืออะไร แล้วสิ่งที่คุณทำคือ เอา error พวกนี้ไปหาใน Google แล้วคุณก็จะได้คำตอบว่า "Gradle นั้นมันสร้าง VM ไม่ได้เพราะ memory ไม่พอที่จะอ้างอิง" คือตัว Android Studio สามารถทำงานบน VM ขนาด 64bit ได้ แต่ตัว Gradle มันทำงานบน VM 32bit เท่านั้น ซึ่งมันอ้างอิง Meomry ได้ประมาณ 7xx Mb เพราะฉะนั้นคุณต้องไปกำหนดค่าการใช้งาน memory ของ VM ที่ Gradle ใช้ดังนี้ เข้าไปที่ เมนู File > Setting... เลือก Compiler แล้วดูแทบด้านซ้าย ที่ VM Options กรอกค่านี้ลงไป -Xmx512m แล้วกด OK


แล้วกด Syn Project with Gradle File ที่แถบเมนู ปัญหาแรกคุณก็แก้ไขเรียบร้อย


เมื่อคุณโปรเจ็คของคุณก็จะ BUILD SUCCESSFUL เรียบร้อย


2. เมื่อคุณกด Run ตัว Project คุณก็จะเจอ Error ต่อมาคือ

build-tools\19.1.0\dx.bat --dex --num-threads=4 --output .............
....
ซึ่งไม่ช่วยอะไรเลย แต่เมื่อลองไปรับบน command promp แล้วก็ได้คำตอบว่า

"Could not reserve enough space for object heap" สิ่งที่ต้องทำคือ แก้ค่าในไฟล์ dx.bat 
ให้เข้าไปแก้ค่า defaultXmx=-1024M เป็น defaultXmx=-512 ดัวรูป แค่นี้คุณก็สามารถรัน VM ได้แล้ว


3. แต่อย่างพึงดีใจถ้าคุณสร้าง Package Name ที่มีตัวอักษรตัวใหญ่อยู่ละก็มันก็จะขึ้น Error อีก คำแนะคือเปลี่ยน Package Name เป็นตัวอักษรตัวเลข หรือไม่ก็สร้าง Package Name ใหม่เป็นตัวอักษรตัวเลขให้เรียนร้อย 

แค่นี้ก็สามารถใช้ Android Studio ได้แล้ว แต่มันก็ทำเอากระผมปวดหัวได้เป็นอาทิตย์เลย อีกอย่างถ้าไม่อยากมีปัญหากับชีวิตมากไปกว่านี้ใช้ JDK 6 ดีกว่าครับ


No comments:

Post a Comment