ใช้อุปกรณ์เสมือนของ Android Emulator

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

สถาปัตยกรรม Android Emulator

Android Emulator ให้คุณเรียกใช้การจำลองอุปกรณ์ Android บน Windows เครื่อง macOS หรือ Linux โปรแกรมจำลอง Android ใช้ระบบปฏิบัติการ Android ในเครื่องเสมือนที่เรียกว่า Android Virtual Device (AVD) AVD ประกอบด้วย ซอฟต์แวร์Android เต็มรูปแบบ สแต็ก และโมเดลจะทํางานเสมือนว่า โดยใช้อุปกรณ์จริง รูปที่ 1 คือแผนภาพของโปรแกรมจำลอง Android สถาปัตยกรรมระดับสูงได้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโปรแกรมจำลอง ให้ดูที่ เรียกใช้แอปในโปรแกรมจำลองของ Android

สถาปัตยกรรม Android Emulator

รูปที่ 1 สถาปัตยกรรม Android Emulator

สร้างรูปภาพ AVD

AVD แต่ละไฟล์จะมีอิมเมจระบบ Android ซึ่งใช้ AVD นั้น AVD Manager จะมีอิมเมจระบบบางรายการ และคุณยังสร้าง อิมเมจระบบ AVD จากซอร์สโค้ดและสร้างการจำลองอุปกรณ์เพื่อเรียกใช้

หากต้องการสร้างและเรียกใช้อิมเมจระบบ AVD ให้ทำดังนี้

  1. ดาวน์โหลดแหล่งที่มาของ Android:

    mkdir aosp-main; cd aosp-main
    repo init -u
    repo sync -j24
    

    หากต้องการสร้าง Android เวอร์ชันอื่นๆ คุณสามารถดู ชื่อสาขาใน ที่เก็บ Android สาธารณะ โดยแมปกับ ชื่อโค้ด แท็ก และหมายเลขบิลด์ของ Android

  2. สร้างอิมเมจระบบ AVD ซึ่งเป็นกระบวนการเดียวกันกับการสร้าง ระบบอุปกรณ์ Android รูปภาพ ตัวอย่างเช่น หากต้องการสร้าง AVD แบบ x86 32 บิต ให้ทำดังนี้

    mkdir aosp-main; cd aosp-main
    source ./build/envsetup.sh
    lunch sdk_phone_x86
    make -j32
    

    หากต้องการสร้าง AVD แบบ x86 64 บิต ให้เรียกใช้ lunch สำหรับเป้าหมาย 64 บิต:

    lunch sdk_phone_x86_64
    
  3. เรียกใช้อิมเมจระบบ AVD ใน Android Emulator ด้วยคำสั่งต่อไปนี้

    emulator
    

โปรดดู ตัวเลือกการเริ่มต้นบรรทัดคำสั่ง เพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับการเรียกใช้โปรแกรมจำลอง รูปที่ 2 แสดงตัวอย่างของ โปรแกรมจำลอง Android ที่ใช้ AVD

โปรแกรมจำลอง Android ที่ใช้ AVD

รูปที่ 2 โปรแกรมจำลอง Android ที่ใช้ AVD

แชร์รูปภาพระบบ AVD เพื่อให้ผู้อื่นใช้กับ Android Studio

ทําตามวิธีการเหล่านี้เพื่อแชร์รูปภาพระบบ AVD กับผู้อื่น สิ่งที่ทำได้ ใช้อิมเมจระบบ AVD กับ Android Studio เพื่อพัฒนาและทดสอบแอป

  1. สร้างแพ็กเกจ sdk และ sdk_repo เพิ่มเติม:

    สำหรับ Android 13 ขึ้นไป ให้ใช้ emu_img_zip คำสั่ง:

    $ make emu_img_zip
    

    การดำเนินการนี้จะสร้างไฟล์ sdk-repo-linux-system-images-eng.[username]].zip

    สำหรับ Android 12 และต่ำกว่า ให้ใช้ sdk_repo คำสั่ง:

    $ make -j32 sdk sdk_repo
    

    คำสั่ง make sdk sdk_repo สร้างไฟล์ 2 ไฟล์ภายใต้ aosp-main/out/host/linux-x86/sdk/sdk_phone_x86:

    • sdk-repo-linux-system-images-eng.[username].zip
    • repo-sys-img.xml
  2. โฮสต์ไฟล์ sdk-repo-linux-system-images-eng.[username].zip ที่ใดที่ผู้ใช้ของคุณเข้าถึงได้ และรับ URL เพื่อใช้เป็น AVD URL อิมเมจระบบ

  3. สำหรับ Android 12 และต่ำกว่า ให้แก้ไข repo-sys-img.xml ดังนี้

    • อัปเดต <sdk:url> เป็น URL อิมเมจระบบ AVD
    • โปรดดู sdk-sys-img-03.xsd เพื่อดูข้อมูลเกี่ยวกับการอัปเดตอื่นๆ ในไฟล์
    • โฮสต์ repo-sys-img.xml ในที่ที่ผู้ใช้เข้าถึงได้ และใช้งาน URL ที่จะใช้เป็น URL ของเว็บไซต์การอัปเดตที่กำหนดเอง

หากต้องการใช้อิมเมจ AVD ที่กำหนดเอง ให้ทำตามขั้นตอนต่อไปนี้ใน SDK Manager

  1. เพิ่ม URL ของเว็บไซต์การอัปเดตที่กำหนดเองเป็นการอัปเดต SDK เว็บไซต์

    การดำเนินการนี้จะเพิ่มรูปภาพระบบ AVD ที่กำหนดเองลงในหน้าอิมเมจระบบ

  2. สร้าง AVD โดยการดาวน์โหลดและเลือกอิมเมจระบบ AVD ที่กำหนดเอง

เพิ่มการสนับสนุนหลายจอแสดงผล

Android 10 เพิ่มประสิทธิภาพมัลติดิสเพลย์ (MD) เพื่อให้รองรับกรณีการใช้งานได้มากขึ้น เช่น โหมดอัตโนมัติและโหมดเดสก์ท็อป แอนดรอยด์ โปรแกรมจำลองยังรองรับการจำลองแบบหลายจอแสดงผลด้วย คุณสามารถสร้าง แบบหลายจอภาพได้โดยไม่ต้องติดตั้งฮาร์ดแวร์จริง

คุณเพิ่มการรองรับหลายจอแสดงผลใน AVD ได้โดยทำการเปลี่ยนแปลงต่อไปนี้ หรือ จากการเลือก CL เหล่านี้

  • เพิ่มผู้ให้บริการแบบหลายจอแสดงผลในบิลด์ด้วยการเพิ่มบรรทัดเหล่านี้ลงในไฟล์ build/target/product/sdk_phone_x86.mk:

    PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST := \
        system/lib/libemulator_multidisplay_jni.so \
        system/lib64/libemulator_multidisplay_jni.so \
        system/priv-app/MultiDisplayProvider/MultiDisplayProvider.apk \
    PRODUCT_PACKAGES += MultiDisplayProvider
    
  • เปิดใช้แฟล็กฟีเจอร์แบบหลายจอแสดงผลโดยเพิ่มบรรทัดนี้ลงในไฟล์ device/generic/goldfish/data/etc/advancedFeatures.ini:

    MultiDisplay = on
    

คุณสามารถค้นหาฟีเจอร์โปรแกรมจำลองและข้อมูลการเผยแพร่ล่าสุดจาก แหล่งที่มาต่อไปนี้