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

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

สร้าง AVD ของรถยนต์ AOSP

กระบวนการสร้าง AVD ของรถยนต์ AOSP จะคล้ายกับ การสร้างรูปภาพ AVD สำหรับโทรศัพท์ (เช่น aosp_car_x86_64) ดังนี้

  1. หากต้องการตั้งค่าสภาพแวดล้อมการพัฒนาและระบุสาขา โปรดดู เครื่องมือควบคุมแหล่งที่มา แล้วอ่าน ดาวน์โหลดซอร์สโค้ดของ Android
    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 เป็นสาขา/แท็กอื่น
    • ระบบจะสร้างอิมเมจ AVD เช่น system.img ที่ $ANDROID_PRODUCT_OUT ดูข้อมูลเพิ่มเติมเกี่ยวกับรูปภาพคีย์ได้ที่ ไดเรกทอรีระบบ AVD
    • ดูไฟล์ README เพื่อดูวิธีใช้ไบนารีของโปรแกรมจำลองที่สร้างไว้ล่วงหน้าในโครงสร้าง Android เพื่อ เรียกใช้โปรแกรมจำลอง

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

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

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

  1. สร้างโฟลเดอร์บริษัทและอุปกรณ์ตามที่จำเป็น ตัวอย่างนี้ใช้ $ANDROID_BUILD_TOP/device/google_car/avd_car
  2. สร้างไฟล์ Makefile ของผลิตภัณฑ์ avd_car.mk ซึ่งกำหนดวิธีสร้าง AVD
  3. สร้างโฟลเดอร์อุปกรณ์ avd_car_device ซึ่งมี BoardConfig.mk และ source.properties
  4. เพิ่ม makefile ใหม่และตัวเลือก lunch ใหม่ลงใน AndroidProducts.mk
  5. วิธีสร้างและเรียกใช้ avd_car AVD ใหม่
    . 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 อื่นๆ ตรงที่ทั้งหมดเป็นอิมเมจที่สร้างไว้ล่วงหน้า โดยปกติแล้ว คุณจะใช้อิมเมจที่สร้างไว้ล่วงหน้าของเคอร์เนล Goldfish มาตรฐานได้เลยจาก 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. แทนที่ไบนารีของเคอร์เนลในโค้ดเบสตาม Makefile ของ AVD เช่น device/generic/goldfish/board/emu64x/details.mk มี device/generic/goldfish/board/kernel/x86_64.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 ที่เฉพาะเจาะจงใน Android Studio AVD Manager ได้ที่ สร้างและจัดการอุปกรณ์เสมือน ผู้ผลิตอุปกรณ์สามารถกำหนดข้อกำหนดฮาร์ดแวร์ของตนเอง เช่น ขนาดหน้าจอและ 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 Emulator Android Studio จะได้รับความยินยอมจากผู้ใช้เมื่อมีใบอนุญาตดังกล่าว

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

  1. เตรียมไฟล์ ZIP ของอิมเมจ AVD
  2. แตกไฟล์ ${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. อัปเดตชื่อ ขนาด และ 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 จากเครือข่าย

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

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

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