หากต้องการใช้ Android Virtual Devices (AVD) Android Emulator รองรับ Graphical User Interface (GUI) และ Command Line Interface (CLI) คุณเลือกขั้นตอนการทำงานที่เหมาะสมที่สุดสำหรับสภาพแวดล้อมของคุณ
- การสร้างและจัดการ GUI ของอุปกรณ์เสมือน เป็นเครื่องมือที่ตรงไปตรงมาสำหรับนักพัฒนาแอปและผู้ใช้ส่วนใหญ่
- การเริ่มโปรแกรมจำลองจากบรรทัดคำสั่ง มอบวิธีที่ยืดหยุ่นสำหรับผู้ใช้ระดับสูงและระบบอัตโนมัติ ตัวอย่างเช่น หากต้องการใช้ AVD หลายตัวหรือเพื่อตั้งค่าการทดสอบอย่างต่อเนื่องและการบูรณาการอย่างต่อเนื่อง ในการเริ่มต้น โปรดดูตัวอย่างใน เครื่องมือ )
เปิดตัว AOSP Car AVD โดยใช้ที่สร้างไว้ล่วงหน้า
หากต้องการเปิดใช้งานและทดสอบอย่างรวดเร็วโดยใช้ AOSP Car AVD ที่สร้างไว้ล่วงหน้า ให้ใช้สคริปต์โอเพ่นซอร์สเพื่อดาวน์โหลดและเปิดใช้งานบิลด์โปรแกรมจำลองจาก ci.android.com
สคริปต์ได้รับการทดสอบบน macOS และ Linux
คุณจะต้องใช้ Curl เพื่อใช้สคริปต์นี้
ในการรันสคริปต์:
- คัดลอกเนื้อหาสคริปต์
launch_emu.sh
ไปยังไฟล์โลคัลของคุณ โดยสมมติว่าคุณใช้launch_emu.sh
เป็นชื่อไฟล์โลคัล - ทำให้สคริปต์ในเครื่องของคุณปฏิบัติการได้ ตัวอย่างเช่น รัน
chmod +x ./launch_emu.sh
- ตรวจสอบตัวเลือกที่มีอยู่โดยการรันสคริปต์ด้วย
./launch_emu.sh -h
- บน
ci.android.com
ไปที่สาขาaosp-main-throttled
และเลือกบิลด์ล่าสุดที่sdk_car_x86_64
เป็นสีเขียว ตัวอย่างเช่น 11370359 หากคุณไม่เห็นข้อมูลบิลด์ ให้ออกจากระบบบัญชี Google แล้วลองอีกครั้ง - ดาวน์โหลดและติดตั้งไฟล์ไบนารีที่เกี่ยวข้องกับโปรแกรมจำลองด้วยรหัสบิลด์ ตัวอย่างเช่น .
./launch_emu.sh -i -a 11370359
- หลังจากนี้ คุณสามารถใช้
./launch_emu.sh
เพื่อเปิดตัวจำลองที่ดาวน์โหลดและติดตั้งแล้ว (อย่าใช้ตัวเลือก-i
หรือ-a
) - หากต้องการดาวน์โหลดและติดตั้ง build ID อื่น ให้เรียกใช้
./launch_emu.sh -c
เพื่อล้างพื้นที่ทำงานของคุณ จากนั้นทำซ้ำขั้นตอนที่ 4 และขั้นตอนที่ 5 ด้านบน
หากต้องการระบุตัวเลือก การเริ่มต้นบรรทัดคำสั่ง โปรแกรมจำลอง Android เมื่อเปิดโปรแกรมจำลอง ให้ใช้ตัวเลือก -v
ตัวอย่างเช่น:
./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"
สร้าง AOSP Car AVD
กระบวนการสร้าง AOSP Car AVD คล้ายกับ การสร้างอิมเมจ AVD สำหรับโทรศัพท์ (เช่น aosp_car_x86_64):
- หากต้องการตั้งค่าสภาพแวดล้อมการพัฒนาและระบุสาขา โปรดดูที่ เครื่องมือควบคุมแหล่งที่มา จากนั้นตรวจสอบ การดาวน์โหลดแหล่งที่มา :
ANDROID_BRANCH="android12L-release"
REPO_URL="https://android.googlesource.com/platform/manifest"
mkdir $ANDROID_BRANCH && cd $ANDROID_BRANCH && repo init -u $REPO_URL -b $ANDROID_BRANCH --partial-clone && repo sync -c -j8 - สร้างอิมเมจ AVD:
. build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
- เรียกใช้อิมเมจ AVD (เพิ่ม ตัวเลือกการเริ่มต้นบรรทัดคำสั่ง เพิ่มเติมตามต้องการ):
emulator &
ตัวอย่างเช่น:
รูปที่ 1 หน้าจอ Android Virtual Emulator
หมายเหตุเกี่ยวกับกระบวนการนี้:
- เนื่องจากกระบวนการสร้างเหมือนกับกระบวนการที่จำเป็นในการสร้าง Android สำหรับอุปกรณ์จริง โปรดเผื่อเวลาในการดาวน์โหลดซอร์สแล้วจึงสร้างมันขึ้นมา
- หากต้องการทำงานในสาขาอื่น ให้ตั้งค่า
$ANDROID_BRANCH
เป็น สาขา/แท็ก อื่น - อิมเมจ AVD เช่น
system.img
สร้างขึ้นที่$ANDROID_PRODUCT_OUT
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับอิมเมจหลัก โปรดดู ไดเรกทอรีระบบ AVD - ดูไฟล์ README เพื่อเรียนรู้วิธีใช้ไบนารีของโปรแกรมจำลองที่สร้างไว้ล่วงหน้าในแผนผัง Android ของคุณเพื่อเรียกใช้โปรแกรมจำลอง
สร้างรถยนต์ AVD
การเพิ่มรถใหม่ AVD เกือบจะเหมือนกับ การเพิ่มอุปกรณ์ใหม่ ตัวอย่างเช่น 1660554 สร้าง avd_car
AVD ใหม่
วิธีสร้าง Car AVD:
- สร้างบริษัทและโฟลเดอร์อุปกรณ์ตามต้องการ ตัวอย่างนี้ใช้
$ANDROID_BUILD_TOP/device/google_car/avd_car
- สร้างผลิตภัณฑ์ makefile
avd_car.mk
ซึ่งกำหนดวิธีการสร้าง AVD - สร้างโฟลเดอร์อุปกรณ์
avd_car_device
ซึ่งจะมีBoardConfig.mk
และsource.properties
- เพิ่ม
makefile
ใหม่และตัวเลือกlunch
ใหม่ให้กับAndroidProducts.mk
- หากต้องการสร้างและเรียกใช้
avd_car
AVD ใหม่:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
แพ็คไฟล์ซิปภาพ AVD
คุณสามารถแพ็คและแชร์ AVD ของคุณกับผู้อื่น หรือใช้บนคอมพิวเตอร์เครื่องอื่นได้ ใช้ emu_img_zip.mk
เพื่อสร้างไฟล์ zip รูปภาพ AVD:
- หลังจากที่คุณสร้าง AVD แล้ว ให้สร้าง
emu_img_zip
เป้าหมาย:m emu_img_zip
- ไฟล์ ZIP อิมเมจ AVD ที่ขึ้นต้นด้วย
sdk-repo-linux-system-images
ถูกสร้างขึ้นในโฟลเดอร์ชื่อ$ANDROID_PRODUCT_OUT
สร้างเคอร์เนล AVD
เคอร์เนล AVD นั้นคล้ายคลึงกับเคอร์เนล Android อื่น ๆ โดยที่ทั้งหมดเป็นอิมเมจที่สร้างไว้ล่วงหน้า โดยปกติ คุณสามารถใช้อิมเมจที่สร้างไว้ล่วงหน้าของเคอร์เนลปลาทองมาตรฐานได้เช่นเดียวกับใน Android แต่ละรุ่น
หากต้องการทดลองกับการเปลี่ยนแปลงเคอร์เนล:
- เรียกใช้ชุดคำแนะนำต่อไปนี้:
mkdir goldfish-kernel-54 cd goldfish-kernel-54 repo init -u https://android.googlesource.com/kernel/manifest -b common-android11-5.4 repo sync BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh BUILD_CONFIG=common-modules/virtual-device/build.config.goldfish.x86_64 build/build.sh ls -l ./out/android11-5.4/dist/
- แทนที่เคอร์เนลไบนารี่ใน codebase ตาม makefile ของ AVD ตัวอย่างเช่น
x86_64-vendor.mk
รวมx86_64-kernel.mk
รหัสเคอร์เนลและการกำหนดค่ามีดังนี้:
รายการ | ค่า |
---|---|
สาขา | common-android11-5.4 (ใช้ใน Android 11) |
ประจักษ์ | kernel/manifest/common-android11-5.4 |
โมดูลทั่วไป/อุปกรณ์เสมือน | kernel/common-modules/virtual-device/android11-5.4 |
เคอร์เนล | kernel/common/android11-5.4 |
สร้างโปรไฟล์อุปกรณ์ใหม่
หากต้องการให้ผู้ใช้สร้าง AVD เฉพาะใน Android Studio AVD Manager โปรดดูที่ การสร้างและจัดการอุปกรณ์เสมือน ผู้ผลิตอุปกรณ์สามารถกำหนดข้อกำหนดฮาร์ดแวร์ของตนเอง เช่น ขนาดหน้าจอและ DPI ผ่านการใช้ไฟล์ devices.xml
ที่รวมอยู่ในอิมเมจ AVD
- ตัวอย่างเช่น ดูโปรไฟล์อุปกรณ์ยานยนต์ใน
automotive.xml
- สำหรับการพัฒนาหรือการสร้างต้นแบบ HMI คุณสามารถเพิ่มอุปกรณ์หลายตัวลงในไฟล์สำหรับอิมเมจ AVD เดียวกันได้
- รวมไฟล์ในไฟล์ zip อิมเมจ OEM AVD ในโฟลเดอร์
[ABI]
ตัวอย่างเช่นx86_64
- ผู้ผลิตอุปกรณ์สามารถ สร้างสกินจำลอง ได้ ตัวอย่างเช่น เพื่อกำหนดปุ่มฮาร์ดแวร์เพิ่มเติมเพื่อ UX ที่มีความเที่ยงตรงสูงขึ้น สิ่งนี้ไม่เพียงมีประโยชน์สำหรับเวิร์กโฟลว์ของนักพัฒนาเท่านั้น แต่ยังมีประโยชน์กับงานอื่นๆ เช่น การวิจัยและการตรวจสอบ UX อีกด้วย
สร้างไฟล์ XML รูปภาพ AVD
ผู้ผลิตอุปกรณ์สามารถสร้างไฟล์ AVD Image XML สำหรับ Android Studio เพื่อดาวน์โหลดได้
- ตัวอย่างเช่น ดูไฟล์ XML อิมเมจ AAOS AVD
sys-img2-1.xml
- ผู้ผลิตอุปกรณ์สามารถกำหนดข้อตกลงใบอนุญาต OEM AVD ของตนเองสำหรับผู้ใช้เป้าหมาย (ใช้ระบบ Honor) พร้อมใบอนุญาตสำหรับ Android Emulator Android Studio ได้รับความเห็นพ้องจากผู้ใช้เมื่อมีการรวมใบอนุญาตดังกล่าว
หากต้องการสร้างภาพ:
- เตรียมไฟล์ซิปภาพ AVD
- แตกไฟล์
${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip
- เพิ่ม
devices.xml
ลงในโฟลเดอร์x86_64
จากนั้นบีบอัดไฟล์เป็นไฟล์ zip ตัวอย่างเช่นoem_avd_img_x86_64.zip
- อัปเดต
oem-sys-img2-1.xml
- อัปเดตชื่อไฟล์ zip ขนาด และ shasum (ไฟล์ XML ตัวอย่างมีอยู่ใน
tools
)
ตัวอย่างเช่น หากต้องการโฮสต์ AVD บน Google Cloud Storage โปรดดู การสร้างที่เก็บข้อมูล
หากต้องการอัปโหลดและทำให้ AVD เข้าถึงได้แบบสาธารณะ โปรดดูที่ การทำให้ข้อมูลเป็นสาธารณะ :
BUCKET_NAME="aaos-avd" gsutil mb gs://$BUCKET_NAME gsutil cp oem_avd_img_x86_64.zip gs://$BUCKET_NAME gsutil cp oem-sys-img2-1.xml gs://$BUCKET_NAME gsutil iam ch allUsers:objectViewer gs://$BUCKET_NAME
รูปแบบ URL ส่วนเสริม SDK รูปภาพ AVD จะเป็นดังนี้: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml
ตัวอย่างเช่น หาก BUCKET_NAME คือ aaos-avd URL จะเป็น: https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml
แบ่งปันภาพ AVD กับผู้ใช้ Android Studio
เพื่อให้ผู้ใช้ของคุณสามารถดาวน์โหลดอิมเมจ AVD และใช้ AVD ของคุณโดย Android Studio คุณจึงสามารถจัดเตรียมไฟล์ XML เสริม SDK ได้ สำหรับรายละเอียด โปรดดูที่ อัปเดตเครื่องมือ IDE และ SDK
วิธีดาวน์โหลด AVD จากเครือข่าย:
- โฮสต์ไฟล์ zip รูปภาพและไฟล์ XML บนเซิร์ฟเวอร์
- ระบุ URL ให้กับผู้ใช้เป้าหมายของคุณ
- ( ไม่บังคับ ) จำกัดการเข้าถึงด้วยชื่อผู้ใช้และรหัสผ่าน
หรืออีกทางหนึ่ง เพื่อเร่งการพัฒนา ให้ดาวน์โหลด AVD ไปยังไดเร็กทอรีในเครื่อง:
- บันทึกไฟล์ XML และอาร์ติแฟกต์ทั้งหมดที่ระบุในไฟล์ XML ลงในโฟลเดอร์ (เช่น ไฟล์ ZIP รูปภาพ AVD ทั้งหมด) ชื่อ
ADDON_DIR
- ระบุ URL เป็น
file://$ADDON_DIR/oem-sys-img2-1.xml