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

หากต้องการใช้ Android Virtual Devices (AVD) Android Emulator รองรับ Graphical User Interface (GUI) และ Command Line Interface (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 และเลือกบิลด์ล่าสุดที่ sdk_car_x86_64 เป็นสีเขียว ตัวอย่างเช่น 11370359 หากคุณไม่เห็นข้อมูลบิลด์ ให้ออกจากระบบบัญชี Google แล้วลองอีกครั้ง
  5. ดาวน์โหลดและติดตั้งไฟล์ไบนารีที่เกี่ยวข้องกับโปรแกรมจำลองด้วยรหัสบิลด์ ตัวอย่างเช่น . ./launch_emu.sh -i -a 11370359
  6. หลังจากนี้ คุณสามารถใช้ ./launch_emu.sh เพื่อเปิดตัวจำลองที่ดาวน์โหลดและติดตั้งแล้ว (อย่าใช้ตัวเลือก -i หรือ -a )
  7. หากต้องการดาวน์โหลดและติดตั้ง 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):

  1. หากต้องการตั้งค่าสภาพแวดล้อมการพัฒนาและระบุสาขา โปรดดูที่ เครื่องมือควบคุมแหล่งที่ มา จากนั้นตรวจสอบ การดาวน์โหลดแหล่งที่มา :
    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 Virtual Emulator

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

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

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

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

วิธีสร้าง Car 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 ใหม่ของคุณแล้ว

แพ็คไฟล์ซิปภาพ 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. แทนที่เคอร์เนลไบนารี่ใน 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 ได้รับความเห็นพ้องจากผู้ใช้เมื่อมีการรวมใบอนุญาตดังกล่าว

หากต้องการสร้างภาพ:

  1. เตรียมไฟล์ซิปภาพ 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. อัปเดตชื่อไฟล์ 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 จากเครือข่าย:

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

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

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