คุณสามารถใช้ Android Emulator เพื่อสร้างการจำลองอุปกรณ์ Android ที่ใช้อิมเมจระบบ Android ที่คุณกำหนดเองได้ คุณยังสามารถแชร์อิมเมจระบบ Android ที่คุณกำหนดเองเพื่อให้ผู้อื่นสามารถเรียกใช้การจำลองได้ นอกจากนี้ คุณยังสามารถเพิ่มการรองรับหลายจอแสดงผลให้กับการจำลอง Android Emulator ได้
สถาปัตยกรรมจำลอง Android
Android Emulator ช่วยให้คุณสามารถรันการจำลองอุปกรณ์ Android บนเครื่อง Windows, macOS หรือ Linux Android Emulator รันระบบปฏิบัติการ Android ในเครื่องเสมือนที่เรียกว่า Android Virtual Device (AVD) AVD มี สแต็กซอฟต์แวร์ Android เต็มรูปแบบ และทำงานเสมือนอยู่บนอุปกรณ์จริง รูปที่ 1 เป็นแผนภาพของสถาปัตยกรรมระดับสูงของ Android Emulator สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโปรแกรมจำลอง โปรดดู ที่เรียกใช้แอปบนโปรแกรมจำลอง Android
รูปที่ 1 สถาปัตยกรรม Android Emulator
สร้างภาพ AVD
AVD แต่ละตัวมีอิมเมจระบบ Android ซึ่งทำงานใน AVD นั้น AVD Manager มีอิมเมจระบบบางส่วน และคุณสามารถสร้างอิมเมจระบบ AVD แบบกำหนดเองจากซอร์สโค้ดของคุณ และสร้างการจำลองอุปกรณ์เพื่อรันอิมเมจเหล่านั้นได้
ในการสร้างและรันอิมเมจระบบ AVD:
ดาวน์โหลดซอร์ส Android:
mkdir aosp-main; cd aosp-main
repo init -u
repo sync -j24
หากคุณต้องการสร้าง Android เวอร์ชันอื่นๆ คุณสามารถค้นหาชื่อสาขาได้ใน ที่เก็บ Android สาธารณะ โดยจับคู่กับ ชื่อรหัส แท็ก และบิลด์ของ Android
สร้างอิมเมจระบบ AVD นี่เป็นกระบวนการเดียวกับ การสร้างอิมเมจระบบอุปกรณ์ Android ตัวอย่างเช่น หากต้องการสร้าง AVD x86 32 บิต:
mkdir aosp-main; cd aosp-main
source ./build/envsetup.sh
lunch sdk_phone_x86
make -j32
หากคุณต้องการสร้าง x86 64-bit AVD ให้รัน
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
เพิ่มเติม:สำหรับ 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
สร้างสองไฟล์ภายใต้aosp-main/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 เพื่อใช้เป็น AVD System Image URLสำหรับ Android 12 และต่ำกว่า ให้แก้ไข
repo-sys-img.xml
ตาม:- อัปเดต
<sdk:url>
เป็น AVD System Image URL ของคุณ - ดู sdk-sys-img-03.xsd เพื่อเรียนรู้เกี่ยวกับการอัปเดตอื่นๆ ของไฟล์
- โฮสต์
repo-sys-img.xml
ที่ที่ผู้ใช้ของคุณสามารถเข้าถึงได้ และรับ URL เพื่อใช้เป็น URL ของไซต์อัปเดตแบบกำหนดเอง
- อัปเดต
หากต้องการใช้อิมเมจ AVD แบบกำหนดเอง ให้ทำดังต่อไปนี้ใน SDK Manager:
เพิ่ม URL ไซต์อัปเดตแบบกำหนดเอง เป็นไซต์อัปเดต SDK
สิ่งนี้จะเพิ่มอิมเมจระบบ AVD ที่คุณกำหนดเองลงในหน้าอิมเมจระบบ
สร้าง AVD โดยการดาวน์โหลดและเลือกอิมเมจระบบ AVD ที่กำหนดเอง
เพิ่มการรองรับการแสดงผลหลายจอ
Android 10 ปรับปรุงการแสดงผลหลายจอ (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
คุณสามารถค้นหาคุณสมบัติโปรแกรมจำลองล่าสุดและข้อมูลการเผยแพร่ได้จากแหล่งต่อไปนี้: