หากต้องการใช้อุปกรณ์เสมือน Android (AVD) โปรแกรมจำลอง Android จะรองรับอินเทอร์เฟซผู้ใช้แบบกราฟิก (GUI) และอินเทอร์เฟซบรรทัดคำสั่ง (CLI) คุณเลือกเวิร์กโฟลว์ที่เหมาะสมที่สุดสำหรับสภาพแวดล้อมของคุณ
- สร้างและจัดการอุปกรณ์เสมือน GUI เป็นเครื่องมือที่ใช้งานง่ายซึ่งให้บริการแก่นักพัฒนาแอปและผู้ใช้ส่วนใหญ่
- การเริ่มโปรแกรมจำลองจากบรรทัดคำสั่ง เป็นวิธีที่ยืดหยุ่นสำหรับผู้ใช้ขั้นสูงและการทำงานอัตโนมัติ เช่น หากต้องการใช้ AVD หลายรายการ หรือตั้งค่าการทดสอบอย่างต่อเนื่องและการผสานรวมอย่างต่อเนื่อง หากต้องการเริ่มต้นใช้งาน โปรดดูตัวอย่างในเครื่องมือ)
เปิด AVD รถยนต์ AOSP โดยใช้เวอร์ชันที่สร้างไว้ล่วงหน้า
หากต้องการเปิดและทดสอบอย่างรวดเร็วโดยใช้ AVD รถยนต์ AOSP ที่คอมไพล์ไว้ล่วงหน้า ให้ใช้สคริปต์โอเพนซอร์สเพื่อดาวน์โหลดและเปิดใช้งานบิลด์โปรแกรมจำลองจาก 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
) - หากต้องการดาวน์โหลดและติดตั้งรหัสบิลด์อื่น ให้เรียกใช้
./launch_emu.sh -c
เพื่อล้างเวิร์กสเปซ แล้วทำตามขั้นตอนที่ 4 และ 5 ด้านบนซ้ำ
หากต้องการระบุตัวเลือกตัวเลือกการเริ่มต้นบรรทัดคำสั่งของโปรแกรมจำลอง Android เมื่อเปิดใช้งานโปรแกรมจำลอง ให้ใช้ตัวเลือก -v
เช่น
./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"
สร้าง AVD รถยนต์ AOSP
กระบวนการสร้าง AVD สำหรับรถยนต์ AOSP จะคล้ายกับการสร้างอิมเมจ 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
หมายเหตุเกี่ยวกับกระบวนการนี้
- เนื่องจากกระบวนการบิลด์เหมือนกับที่ต้องใช้บิลด์ Android สำหรับอุปกรณ์จริง โปรดรอสักครู่เพื่อดาวน์โหลดซอร์สโค้ดแล้วจึงบิลด์
- หากต้องการทำงานกับสาขาอื่นๆ ให้ตั้งค่า
$ANDROID_BRANCH
เป็นสาขา/แท็กอื่น - รูปภาพ AVD เช่น
system.img
สร้างขึ้นที่$ANDROID_PRODUCT_OUT
ดูข้อมูลเพิ่มเติมเกี่ยวกับรูปภาพหลักได้ที่ไดเรกทอรีระบบ AVD - ดูไฟล์ README เพื่อดูวิธีใช้ไบนารีของโปรแกรมจำลองที่คอมไพล์ไว้ล่วงหน้าในต้นไม้ Android เพื่อเรียกใช้โปรแกรมจำลอง
สร้าง AVD สำหรับรถยนต์
การเพิ่ม AVD ของรถยนต์คันใหม่เกือบจะเหมือนกับการเพิ่มอุปกรณ์ใหม่ เช่น 1660554
จะสร้าง AVD avd_car
ใหม่
วิธีสร้าง AVD ของรถยนต์
- สร้างโฟลเดอร์บริษัทและโฟลเดอร์อุปกรณ์ตามต้องการ ตัวอย่างนี้ใช้
$ANDROID_BUILD_TOP/device/google_car/avd_car
- สร้างไฟล์ Make ของผลิตภัณฑ์
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 &
แพ็กไฟล์ ZIP รูปภาพ AVD
คุณสามารถแพ็กและแชร์ 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 อื่นๆ ตรงที่เป็นอิมเมจที่สร้างไว้ล่วงหน้าทั้งหมด โดยปกติแล้ว คุณสามารถใช้อิมเมจเคอร์เนล goldfish มาตรฐานที่สร้างไว้ล่วงหน้าได้ตามที่เป็นจาก 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/
- แทนที่ไบนารีเคอร์เนลในโค้ดเบสตามไฟล์ make ของ AVD เช่น
x86_64-vendor.mk
ประกอบด้วยx86_64-kernel.mk
โค้ดและการกำหนดค่าเคอร์เนลอยู่ดังนี้
รายการ | ค่า |
---|---|
สาขา | common-android11-5.4 (ใช้ใน Android 11) |
ไฟล์ Manifest | kernel/manifest/common-android11-5.4 |
common-modules/virtual-device | kernel/common-modules/virtual-device/android11-5.4 |
ฟองสบู่แตก | kernel/common/android11-5.4 |
สร้างโปรไฟล์อุปกรณ์ใหม่
หากต้องการอนุญาตให้ผู้ใช้สร้าง AVD ที่เฉพาะเจาะจงในเครื่องมือจัดการ AVD ของ Android Studio โปรดดูหัวข้อสร้างและจัดการอุปกรณ์เสมือน
ผู้ผลิตอุปกรณ์สามารถกำหนดข้อกำหนดเฉพาะของฮาร์ดแวร์ของตนเองได้ เช่น ขนาดหน้าจอและ DPI โดยใช้ไฟล์ devices.xml
ที่รวมอยู่ในภาพ AVD
- เช่น ดูโปรไฟล์อุปกรณ์ยานยนต์ใน
automotive.xml
- สําหรับการพัฒนาหรือการสร้างต้นแบบ HMI คุณสามารถเพิ่มอุปกรณ์หลายเครื่องลงในไฟล์สําหรับภาพ AVD เดียวกันได้
- รวมไฟล์ไว้ในไฟล์ ZIP ของภาพ AVD ของ OEM ในโฟลเดอร์
[ABI]
เช่นx86_64
- นอกจากนี้ ผู้ผลิตอุปกรณ์ยังสร้างสกินโปรแกรมจำลองได้ด้วย เช่น เพื่อกำหนดปุ่มฮาร์ดแวร์เพิ่มเติมสำหรับ UX ที่สมจริงยิ่งขึ้น ซึ่งไม่เพียงมีประโยชน์สำหรับเวิร์กโฟลว์ของนักพัฒนาแอปเท่านั้น แต่ยังมีประโยชน์สำหรับงานอื่นๆ เช่น การวิจัยและตรวจสอบ UX ด้วย
สร้างไฟล์ XML ของภาพ AVD
ผู้ผลิตอุปกรณ์สามารถสร้างไฟล์ XML รูปภาพ AVD เพื่อให้ Android Studio ดาวน์โหลดได้
- เช่น ดูไฟล์ XML ของภาพ AVD ของ AAOS
sys-img2-1.xml
- ผู้ผลิตอุปกรณ์สามารถกำหนดข้อตกลงการอนุญาตให้ใช้สิทธิ AVD ของ OEM ของตนเองสำหรับผู้ใช้เป้าหมาย (ใช้ระบบการให้เกียรติ) ด้วยใบอนุญาตสำหรับโปรแกรมจำลอง Android Android Studio จะได้รับความยินยอมจากผู้ใช้เมื่อมีใบอนุญาตดังกล่าวรวมอยู่ด้วย
วิธีสร้างรูปภาพ
- เตรียมไฟล์ ZIP รูปภาพ 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
- อัปเดตชื่อ ไฟล์ขนาด และ shasum ของไฟล์ ZIP (มีไฟล์ XML ตัวอย่างให้ใน
tools
)
เช่น หากต้องการโฮสต์ AVD ใน Cloud Storage ของ Google ให้ดูการสร้างที่เก็บข้อมูล
หากต้องการอัปโหลดและทำให้ 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
คุณสามารถระบุไฟล์ XML ของส่วนเสริม SDK เพื่อให้ผู้ใช้ดาวน์โหลดภาพ AVD และใช้ AVD ของคุณผ่าน Android Studio ได้ โปรดดูรายละเอียดที่หัวข้ออัปเดตเครื่องมือ IDE และ SDK
วิธีดาวน์โหลด AVD จากเครือข่าย
- โฮสต์ไฟล์ ZIP ของรูปภาพและไฟล์ XML บนเซิร์ฟเวอร์
- ระบุ URL ให้กับผู้ใช้เป้าหมาย
- (ไม่บังคับ) จำกัดการเข้าถึงตามชื่อผู้ใช้และรหัสผ่าน
หรือหากต้องการเร่งการพัฒนา ให้ดาวน์โหลด AVD ลงในไดเรกทอรีในเครื่องโดยทำดังนี้
- บันทึกไฟล์ XML และอาร์ติแฟกต์ทั้งหมดที่ระบุไว้ในไฟล์ XML ไปยังโฟลเดอร์ (เช่น ไฟล์ ZIP รูปภาพ AVD ทั้งหมด) ที่ชื่อ
ADDON_DIR
- ระบุ URL เป็น
file://$ADDON_DIR/oem-sys-img2-1.xml