10 January 2015

การใช้งาน Android Virtual Device บน Android Studio

Updated on


        Android Virtual Device หรือเรียกกันสั้นๆว่า AVD เป็น Emulator ที่ทางทีมพัฒนาแอนดรอยด์ได้จัดเตรียมไว้ให้นักพัฒนาที่ต้องการทดสอบบนเครื่องคอมพิวเตอร์แทนเครื่องจริง ซึ่งบน Android Studio ก็มีตัวช่วยจัดการกับ AVD ให้ค่อยข้างสะดวกกว่าเดิม จึงขอหยิบมาเป็น Guideline ให้สำหรับผู้ที่หลงเข้ามาอ่านมือใหม่หรือพึ่งย้ายมาใช้ Android Studio นะครับ

        บน Android Studio นั้นสามารถเปิดหน้าต่างสำหรับ AVD Manager ได้อยู่สองวิธีคือ กดปุ่มไอคอนลัดที่อยู่แถบข้างบนของหน้าจอโปรแกรม



        หรือเลือกไปที่ Tools > Android > Android Device Monitor



        หน้าต่างนี้จะเป็นหน้าต่างสำหรับจัดการกับ AVD โดยจะมีรายชื่อแสดง Virtual Device ที่ได้สร้างไว้ (ถ้ายังไม่ได้สร้างไว้ก็ไม่มีแสดง)



        ทำการสร้าง Virtual Device ใหม่ด้วยการกดเลือกที่ Create Virtual Device... ก็จะมีหน้าต่างสำหรับเลือกอุปกรณ์ที่จะสร้าง โดยจะมีการแยกหมวดหมู่ให้ด้วยว่าเป็น TV, Phone, Wear หรือ Tablet


        โดยที่ AVD Manager ก็จะมีรายชื่อเครื่องให้เลือกประมาณหนึ่งอยู่แล้ว สามารถกดเลือกได้เลย

        แต่ถ้าต้องการกำหนดค่าเองก็ให้กดที่ปุ่ม New Hardware Profile  ก็จะมีหน้าต่างกำหนดค่าสำหรับ Virtual Device ให้


        Device Name ชื่อของ Virtual Device ที่จะสร้าง
        Screen > Screensize ขนาดหน้าจอ หน่วยเป็นนิ้ว
        Screen > Resolution ความละเอียดของหน้าจอ หน่วยเป็นพิกเซล
        Memory RAM ใน Virtual Device (ไม่ต้องกำหนดเยอะ เพราะมันดึง RAM จากคอมที่ใช้นั่นเอง)
        Input กำหนดปุ่ม Input สำหรับ Virtual Device


        เช่นจะให้ Virtual Device มี Navigator Bar สำหรับ Back/Home/Menu หรือไม่ หรือจะกำหนดให้มี Keyboard อยู่ข้างๆเพื่อเป็นปุ่มควบคุม


        Supported device states รูปการแบบอุปกรณ์ที่รองรับว่าสามารถแสดงผลในแนวตั้งหรือแนวนอนได้



        Cameras กำหนดกล้องให้กับ Virtual Device ว่าจะมีกล้องหน้าหรือกล้องหลัง



        Sensor กำหนดเซ็นเซอร์ที่จะให้มีใน Virtual Device



        Skin รูปของอุปกรณ์แอนดรอยด์ที่จะแสดงใน Virtual Device โดยหน้าจอของ Virtual Device จะแสดงอยู่ในภาพเครื่องที่กำหนดไว้




        เมื่อเสร็จแล้วก็กดปุ่ม Finish เพื่อสร้างเป็น Virtual Device Profile ก็จะแสดงให้เห็นในรายชื่อให้เลือกสร้างได้แล้ว



        สำหรับปุ่ม Import Hardware Profiles จะเป็นการสร้าง Device Profile จากไฟล์ที่กำหนดค่ามาให้เรียบร้อยแล้ว จึงทำให้สามารถสร้าง Profile ขึ้นแล้วแล้วแจกจ่ายไปยังเครื่องอื่นๆได้

        ในกรณีที่ต้องการโคลน แก้ไข ลบ หรือ Export เป็นไฟล์เพื่อไป Import เครื่องอื่นๆก็เพียงแค่คลิกขวาที่ Device Profile ตัวนั้นๆ



        สำหรับการโคลนจะเป็นการนำ Device Profile ที่มีอยู่แล้วมาแก้ไขนั่นเอง



        เมื่อเลือก Device Profile ที่ต้องการได้แล้วให้กดปุ่ม Next

        หน้าถัดมาจะเป็นการเลือกว่า Virtual Device จะใช้ System Image เป็นแบบไหน ซึ่งจะมีให้เลือกตามเวอร์ชันแอนดรอยด์ด้วย (แนะนำให้เลือกอันที่มี ABI เป็น armeabi-v7a)


        อันไหนที่มีคำว่า Downloads ต่อท้ายก็หมายความว่าเครื่องนั้นๆยังไม่ได้ดาวน์โหลด System Image ของตัวนั้นๆมา ก็จะทำการดาวน์โหลดมาติดตั้งให้โดยอัตโนมัติ


        เมื่อกำหนด System Image เรียบร้อยแล้ว ก็จะเป็นหน้าสรุป Virtual Device ที่จะสร้าง



        และที่สำคัญก็คือมีเมนู Startup size and orientation ให้ด้วย เอาไว้กำหนดว่าอัตราส่วนหน้าจอที่จะแสดงบนคอมพิวเตอร์ เพราะว่า Virtual Device บางตัวมีหน้าจอขนาดใหญ่มากเช่น Nexus 6 ดังนั้นจึงกำหนดได้ว่าจะให้สเกลที่แสดงบนหน้าจอคอมเป็นเท่าไรแทน โดยอิงหน่วย dp ของ Device ต่อ px บนหน้าจอคอม



        และถ้ากดปุ่ม Show Advanced Settings ก็จะสามารถกำหนดรายละเอียดปลีกย่อยของ Virtual Device ได้ด้วย



        เมื่อกำหนดเสร็จทั้งหมดแล้วก็ให้กดปุ่ม Finish ก็จะเห็น Virtual Device แสดงอยู่ในหน้า AVD Manager



        ถ้าต้องการเปิด Virtual Device ขึ้นมา ก็ให้กดปุ่มลูกศรสีเขียว ถ้าต้องการแก้ไข Device Profile ใหม่อีกครั้งให้กดปุ่มรูปดินสอ และจะมีเมนูย่อยอยู่ในลูกศรสีเทาอีกที ซึ่งทั้งหมดนี้ต้อง Double Click เพื่อเลือก (คลิกทีเดียวไม่ติด)



        เมื่อเปิด Virtual Device ขึ้นมาแล้วให้รอซักพักจนขึ้นหน้า Homescreen ของแอนดรอยด์ก็เป็นอันเสร็จ สามารถใช้งานได้เลย



        สำหรับ AVD นั้นจะค่อนข้างอืดและช้าพอสมควร (ไม่ต้องแปลกใจ ไม่ได้เป็นแค่คนเดียว คนอื่นก็เป็นกัน) ดังนั้นอาจจะทำให้การทดสอบแอพฯบนนี้ค่อนข้างลำบากเสียหน่อย ดังนั้นเจ้าของบล็อกจึงแนะนำให้ใช้ Emulator ที่ชื่อว่า Genymotion แทนดีกว่า ซึ่งสามารถอ่านต่อได้ที่ [Android Dev Tips] Genymotion - Android Emulator สุดเจ๋งสำหรับนักพัฒนา [การติดตั้งใช้งาน]