คุณสามารถใช้ Android Emulator เพื่อสร้างการจำลองอุปกรณ์ Android ที่เรียกใช้อิมเมจระบบ Android ที่คุณกำหนดเองได้ คุณยังสามารถแชร์อิมเมจระบบ Android ที่คุณกำหนดเองเพื่อให้คนอื่นเรียกใช้การจำลองได้ นอกจากนี้ คุณสามารถเพิ่มการรองรับหลายจอแสดงผลให้กับการจำลอง Android Emulator
สถาปัตยกรรม Android Emulator
Android Emulator ให้คุณเรียกใช้การจำลองอุปกรณ์ Android บนเครื่อง Windows, macOS หรือ Linux Android Emulator ใช้งานระบบปฏิบัติการ Android ในเครื่องเสมือนที่เรียกว่า Android Virtual Device (AVD) AVD มีชุด ซอฟต์แวร์ Android เต็มรูปแบบ และทำงานเหมือนกับว่าอยู่ในอุปกรณ์จริง รูปที่ 1 เป็นไดอะแกรมของสถาปัตยกรรมระดับสูงของ Android Emulator สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโปรแกรมจำลอง โปรดดู เรียกใช้แอปบน Android Emulator
รูปที่ 1. สถาปัตยกรรม Android Emulator
การสร้างภาพ AVD
AVD แต่ละรายการมีอิมเมจระบบ Android ซึ่งทำงานใน AVD นั้น AVD Manager มีอิมเมจระบบบางส่วน และคุณสามารถสร้างอิมเมจระบบ AVD แบบกำหนดเองจากซอร์สโค้ดของคุณ และสร้างการจำลองอุปกรณ์เพื่อเรียกใช้
ในการสร้างและเรียกใช้อิมเมจระบบ AVD:
ดาวน์โหลดแหล่งที่มาของ Android:
mkdir aosp-master; cd aosp-master
repo init -u
repo sync -j24
หากคุณต้องการสร้าง Android เวอร์ชันอื่นๆ คุณสามารถค้นหาชื่อสาขาในที่ เก็บ Android สาธารณะ พวกเขาจับคู่กับ ชื่อรหัส แท็ก และหมายเลข รุ่นของ Android
สร้างอิมเมจระบบ AVD นี่เป็นกระบวนการเดียวกับ การสร้างอิมเมจระบบอุปกรณ์ Android ตัวอย่างเช่น ในการสร้าง AVD x86 32 บิต:
mkdir aosp-master; cd aosp-master
source ./build/envsetup.sh
lunch sdk_phone_x86
make -j32
หากคุณต้องการสร้าง AVD x86 64 บิต ให้เรียกใช้
lunch
สำหรับเป้าหมาย 64 บิต:lunch sdk_phone_x86_64
เรียกใช้อิมเมจระบบ AVD ใน Android Emulator:
emulator
ดู ตัวเลือกการเริ่มต้นบรรทัดคำสั่ง สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการเรียกใช้โปรแกรมจำลอง รูปที่ 2 แสดงตัวอย่าง Android Emulator ที่รัน AVD
รูปที่ 2. Android Emulator ที่รัน AVD
การแชร์อิมเมจระบบ AVD ให้ผู้อื่นใช้กับ Android Studio
ทำตามคำแนะนำเหล่านี้เพื่อแบ่งปันภาพระบบ AVD ของคุณกับผู้อื่น พวกเขาสามารถใช้อิมเมจระบบ AVD ของคุณกับ Android Studio เพื่อพัฒนาและทดสอบแอป
สร้างแพ็คเกจ
sdk
และsdk_repo
:$ make -j32 sdk sdk_repo
สิ่งนี้สร้างสองไฟล์ภายใต้
aosp-master/out/host/linux-x86/sdk/sdk_phone_x86
:-
sdk-repo-linux-system-images-eng.[username].zip
-
repo-sys-img.xml
-
โฮสต์ไฟล์
sdk-repo-linux-system-images-eng.[username].zip
บางแห่งที่ผู้ใช้ของคุณสามารถเข้าถึงได้ และรับ URL ของไฟล์เพื่อใช้เป็น URL อิมเมจระบบ AVDแก้ไข
repo-sys-img.xml
ตามลำดับ:- อัปเดต
<sdk:url>
เป็น URL อิมเมจระบบ AVD ของคุณ - ดู sdk-sys-img-03.xsd เพื่อเรียนรู้เกี่ยวกับการอัปเดตอื่นๆ ของไฟล์
- อัปเดต
โฮสต์
repo-sys-img.xml
ในที่ที่ผู้ใช้ของคุณสามารถเข้าถึงได้ และรับ URL เพื่อใช้เป็น Custom Update Site URL
หากต้องการใช้อิมเมจ AVD ที่กำหนดเอง ให้ทำดังต่อไปนี้ใน SDK Manager:
เพิ่ม Custom Update Site URL เป็น SDK Update Site
สิ่งนี้จะเพิ่มอิมเมจระบบ AVD ที่กำหนดเองของคุณไปยังหน้าอิมเมจระบบ
สร้าง AVD โดยการดาวน์โหลดและเลือกอิมเมจระบบ AVD ที่กำหนดเอง
เพิ่มการรองรับ Multi-Display
Android 10 ปรับปรุง Multi-Display (MD) เพื่อรองรับกรณีการใช้งานที่มากขึ้น เช่น โหมดอัตโนมัติและโหมดเดสก์ท็อป Android Emulator ยังรองรับการจำลองหลายหน้าจออีกด้วย ดังนั้น คุณจึงสามารถสร้างสภาพแวดล้อมแบบหลายจอแสดงผลเฉพาะโดยไม่ต้องตั้งค่าฮาร์ดแวร์จริง
คุณสามารถเพิ่มการรองรับหลายจอแสดงผลให้กับ 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
คุณสามารถค้นหาฟีเจอร์อีมูเลเตอร์ล่าสุดและข้อมูลการเปิดตัวได้จากแหล่งต่อไปนี้: