อุปกรณ์เสมือนของ Android เป็นแพลตฟอร์มการพัฒนา

หากต้องการใช้อุปกรณ์เสมือน Android (AVD) โปรแกรมจำลอง Android รองรับอินเทอร์เฟซผู้ใช้แบบกราฟิก (GUI) และอินเทอร์เฟซบรรทัดคำสั่ง (CLI) คุณเลือก เวิร์กโฟลว์ที่ดีที่สุดสำหรับสภาพแวดล้อมของคุณ

เปิด AOSP Car AVD โดยใช้อุปกรณ์ที่สร้างไว้ล่วงหน้า

หากต้องการเปิดตัวและทดสอบอย่างรวดเร็วโดยใช้ AOSP Car AVD ที่สร้างไว้ล่วงหน้า ให้ใช้สคริปต์โอเพนซอร์สเพื่อดาวน์โหลด และเริ่มโปรแกรมจำลองจาก ci.android.com สคริปต์ได้รับการทดสอบใน macOS และ Linux

คุณจะต้องมี Curl จึงจะใช้สคริปต์นี้ได้

วิธีเรียกใช้สคริปต์

  1. คัดลอก launch_emu.sh เนื้อหาสคริปต์ลงในไฟล์ในเครื่อง โดยสมมติว่าคุณใช้ launch_emu.sh เป็น ชื่อไฟล์ในเครื่อง
  2. ทำให้ไฟล์ปฏิบัติการของสคริปต์ในเครื่องได้ เช่น เรียกใช้ chmod +x ./launch_emu.sh
  3. ตรวจสอบตัวเลือกที่มีโดยเรียกใช้สคริปต์ด้วย ./launch_emu.sh -h
  4. ในci.android.com ให้ไปที่ aosp-main-throttled Branch และเลือกบิลด์ล่าสุดที่มี sdk_car_x86_64 เป็นสีเขียว เช่น 11370359 หากไม่เห็นบิลด์ ให้ออกจากระบบบัญชี Google แล้วลองอีกครั้ง
  5. ดาวน์โหลดและติดตั้งไฟล์ไบนารีที่เกี่ยวข้องกับโปรแกรมจำลองซึ่งมีรหัสบิลด์ ตัวอย่างเช่น ./launch_emu.sh -i -a 11370359
  6. หลังจากนั้นคุณจะใช้ ./launch_emu.sh เพื่อเปิดแอปที่ดาวน์โหลดมาและติดตั้งได้ โปรแกรมจำลอง (อย่าใช้ตัวเลือก -i หรือ -a)
  7. หากต้องการดาวน์โหลดและติดตั้งรหัสบิลด์อื่น ให้เรียกใช้ ./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)

  1. หากต้องการตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์และระบุ Branch โปรดดูที่ Source Control Tools จากนั้นตรวจสอบ การดาวน์โหลดซอร์สโค้ด:
    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
  2. สร้างอิมเมจ AVD โดยใช้คำสั่งต่อไปนี้
    . build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
  3. เรียกใช้อิมเมจ AVD (เพิ่มตัวเลือกการเริ่มต้นบรรทัดคำสั่งเพิ่มเติม ตามความจำเป็น)
    emulator &

    เช่น

    รูปที่ 1 หน้าจอโปรแกรมจำลองเสมือนของ Android

    หมายเหตุเกี่ยวกับกระบวนการนี้

    • เนื่องจากกระบวนการบิลด์เหมือนกันกับขั้นตอนที่จำเป็นสำหรับการสร้าง Android สำหรับอุปกรณ์จริง โปรดรอสักระยะหนึ่งในการดาวน์โหลดแหล่งที่มา แล้วสร้างขึ้นมา
    • หากต้องการทำงานในสาขาอื่น ให้ตั้งค่า $ANDROID_BRANCH เป็นสาขาอื่น branch/แท็ก
    • รูปภาพ AVD เช่น system.img สร้างขึ้นที่ $ANDROID_PRODUCT_OUT ดูข้อมูลเพิ่มเติมเกี่ยวกับภาพสำคัญได้ที่ ระยะเวลาการดูเฉลี่ย ไดเรกทอรีของระบบ
    • โปรดดู README เพื่อดูวิธีการใช้ไบนารีของโปรแกรมจำลองที่สร้างไว้ล่วงหน้าในโครงสร้าง Android เพื่อ เรียกใช้โปรแกรมจำลอง

สร้าง AVD รถยนต์

การเพิ่ม AVD รถใหม่แทบจะเหมือนกับ การเพิ่มอุปกรณ์ใหม่ ตัวอย่างเช่น 1660554 สร้าง AVD ใหม่ avd_car

วิธีสร้าง AVD รถยนต์

  1. สร้างบริษัทและโฟลเดอร์อุปกรณ์ตามต้องการ ตัวอย่างนี้ใช้ $ANDROID_BUILD_TOP/device/google_car/avd_car
  2. สร้างไฟล์ผลิตภัณฑ์ avd_car.mk ซึ่งกำหนดวิธีสร้าง AVD
  3. สร้างโฟลเดอร์อุปกรณ์ avd_car_device ที่จะมี BoardConfig.mk และ source.properties
  4. เพิ่ม makefile ใหม่และตัวเลือก lunch ใหม่ใน AndroidProducts.mk
  5. หากต้องการสร้างและเรียกใช้ AVD ของ avd_car ใหม่ ให้ทำดังนี้
    . build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
ตอนนี้คุณพร้อมที่จะสร้างต้นแบบ HMI และฟีเจอร์ของแอปส่วนใหญ่ใน AVD ใหม่แล้ว

แพ็กไฟล์ ZIP ของภาพ AVD

คุณสามารถแพ็กและแชร์ AVD กับผู้อื่นหรือใช้ในอุปกรณ์อื่นก็ได้ คอมพิวเตอร์ ใช้ emu_img_zip.mk เพื่อสร้างไฟล์ ZIP รูปภาพ AVD ดังนี้

  1. หลังจากสร้าง AVD แล้ว ให้กำหนด emu_img_zip เป็นเป้าหมายดังนี้
    m emu_img_zip
  2. ไฟล์ ZIP ของภาพ AVD ที่ขึ้นต้นด้วย sdk-repo-linux-system-images คือ สร้างในโฟลเดอร์ชื่อ $ANDROID_PRODUCT_OUT แล้ว

สร้างเคอร์เนล AVD

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

วิธีทดสอบการเปลี่ยนแปลงเคอร์เนล

  1. โดยใช้ชุดคำแนะนำต่อไปนี้
    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/
    
  2. แทนที่ไบนารีของเคอร์เนลในโค้ดเบสตาม AVD Makefile ตัวอย่างเช่น x86_64-vendor.mk รวมถึง x86_64-kernel.mk

โค้ดเคอร์เนลและการกำหนดค่ามีดังนี้

รายการ ค่า
สาขา common-android11-5.4 (ใช้ใน Android 11)
ไฟล์ Manifest 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
  • ผู้ผลิตอุปกรณ์กำหนดข้อตกลงการอนุญาตให้ใช้สิทธิ AVD สำหรับ OEM ของตนเองสำหรับผู้ใช้เป้าหมายได้ (จัดเตรียมระบบเกียรติยศ) พร้อมใบอนุญาตสำหรับโปรแกรมจำลอง Android แอนดรอยด์ Studio จะได้รับความเห็นพ้องของผู้ใช้เมื่อมีใบอนุญาตดังกล่าว

วิธีสร้างรูปภาพ

  1. เตรียมไฟล์ ZIP รูปภาพ AVD
  2. แตกไฟล์ ZIP ${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip
  3. เพิ่ม devices.xml ลงในโฟลเดอร์ x86_64 แล้วบีบอัดไฟล์ใน ไฟล์ ZIP เช่น oem_avd_img_x86_64.zip
  4. อัปเดต oem-sys-img2-1.xml
  5. อัปเดตชื่อไฟล์ 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 ส่วนเสริมของ AVD รูปภาพ SDK มีดังนี้ 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 จากเครือข่าย

  1. โฮสต์ไฟล์ ZIP รูปภาพและไฟล์ XML บนเซิร์ฟเวอร์
  2. ระบุ URL ให้กับผู้ใช้เป้าหมาย
  3. (ไม่บังคับ) จำกัดการเข้าถึงโดยใช้ชื่อผู้ใช้และรหัสผ่าน

หรือหากต้องการเร่งการพัฒนา ให้ดาวน์โหลด AVD ไปยังไดเรกทอรีในเครื่อง โดยทำดังนี้

  1. บันทึกไฟล์ XML และอาร์ติแฟกต์ทั้งหมดที่ระบุในไฟล์ XML ไปยังโฟลเดอร์ (เช่น ไฟล์ ZIP รูปภาพ AVD ทั้งหมด) ที่ชื่อว่า ADDON_DIR
  2. ระบุ URL เป็น file://$ADDON_DIR/oem-sys-img2-1.xml