دانلود کنید، بسازید و اجرا کنید

این صفحه نحوه دانلود، ساخت و اجرای AAOS SDV روی Cuttlefish را توضیح می‌دهد.

کلاینت Repo را مقداردهی اولیه کنید

کلاینت خود را برای دسترسی به مخزن منبع اندروید تنظیم کنید:

  1. یک دایرکتوری کاری مانند sdv ایجاد کنید و به آن بروید:

    mkdir WORKING_DIRECTORY
    cd WORKING_DIRECTORY
  2. دایرکتوری کاری خود را برای کنترل منبع مقداردهی اولیه کنید:

    این مثال از شاخه 26Q2-fs-release استفاده می‌کند.

    RELEASE=26Q2-fs-release
    repo init -u https://partner-android.googlesource.com/platform/vendor/pdk/generic/fs/manifest/ -b $RELEASE

    گزینه -u الزامی است و یک فایل manifest را شناسایی می‌کند، که یک فایل XML است که محل قرارگیری پروژه‌های مختلف Git در سورس اندروید را در دایرکتوری کاری شما مشخص می‌کند. در این مثال، نام فایل manifest مشخص نشده است، بنابراین دستور از فایل manifest پیش‌فرض ( default.xml ) استفاده می‌کند.

    گزینه -b ‎ شاخه‌ای را که مقداردهی اولیه می‌کنید، مشخص می‌کند.

    خروجی باید حاوی این پیام باشد:

    repo has been initialized in path_to_working_directory

سورس AAOS SDV را دانلود کنید

دستور زیر را برای دانلود درخت سورس اندروید در دایرکتوری کاری خود اجرا کنید:

repo sync -c -j8

آرگومان -c به Repo دستور می‌دهد که شاخه مانیفست فعلی را از سرور دریافت کند. دستور -j8 همگام‌سازی را برای تکمیل سریع‌تر، بین نخ‌ها تقسیم می‌کند.

محیط ساخت خود را تنظیم کنید

از درون دایرکتوری کاری خود، اسکریپت envsetup.sh را برای تنظیم محیط ساخت خود، سورس کنید:

source build/envsetup.sh

این اسکریپت چندین دستور را وارد می‌کند که به شما امکان می‌دهد با کد منبع اندروید، از جمله دستورات استفاده شده در این صفحه، کار کنید. برای مشاهده کد منبع اسکریپت، به platform/build/envsetup.sh مراجعه کنید. برای مشاهده راهنمای داخلی، hmm را تایپ کنید.

یک هدف انتخاب کنید

قبل از ساخت SDV، یک هدف برای ساخت مشخص کنید. برای شناسایی هدف خود برای ساخت، از دستور lunch و به دنبال آن یک رشته که نشان دهنده هدفی است که برای آن در حال ساخت هستید، استفاده کنید. برای مثال، از این دستور برای ساخت یک هدف برای شبیه ساز Cuttlefish استفاده کنید:

lunch sdv_core_cf-trunk_staging-userdebug

این دستور، محصول، پیکربندی انتشار و نوع آن را برای ساخت انتخاب کرده و موارد انتخاب شده را در محیط ذخیره می‌کند.

اهداف lunch برای SDV در یک پروژه گیت جداگانه واقع در دایرکتوری devices/google/sdv ارائه شده‌اند. شرح مفصلی از اهداف موجود را در device/google/sdv/README.md ببینید. اهداف اصلی Cuttlefish ( cf ) عبارتند از:

  • sdv_core_cf-trunk_staging-userdebug - ساخت ایمیجی از AAOS SDV Core ( sdv_core ) که روی Cuttlefish ( cf ) اجرا می‌شود.
  • sdv_media_cf-trunk_staging-userdebug - ساخت ایمیج از AAOS SDV Core با APIهای رسانه‌ای مجازی‌سازی‌شده با virtIO ( sdv_media ).
  • sdv_media_har_cf-trunk_staging-userdebug - ساخت ایمیجی که هدف lunch مربوط به AAOS SDV media ( sdv_media_cf ) را گسترش می‌دهد تا رندرکننده با قابلیت دسترسی بالا (HAR) را در خود جای دهد. HAR به طور خودکار هنگام بوت اجرا می‌شود.
  • sdv_ivi_cf-trunk_staging-userdebug - ساخت ایمیج از سیستم اطلاعات و سرگرمی درون خودرو (IVI) حاوی SDV Gateway و برنامه‌های نمونه جاوا.
  • sdv_ivi_cf_ds-trunk_staging-userdebug - ساخت ایمیجی که هدف AAOS SDV IVI ( sdv_ivi_cf ) را گسترش می‌دهد و شامل پیاده‌سازی DriverUI و Instrument Cluster از Display Safety است.

ساخت AAOS SDV

دستور زیر را برای ساخت هدف خود اجرا کنید. بسته به مشخصات ایستگاه کاری شما، اولین ساخت بین 30 تا 60 دقیقه طول می‌کشد. ساخت‌های بعدی به طور قابل توجهی زمان کمتری می‌برند.

m

خروجی ساخت شما در $OUT_DIR ظاهر می‌شود. اگر اهداف مختلفی بسازید، هر ساخت هدف در $OUT_DIR ظاهر می‌شود.

ساخت خود را با استفاده از Cuttlefish آزمایش کنید

پس از ساخت AAOS SDV، ساخت خود را با استفاده از Cuttlefish آزمایش کنید.

  1. برای شروع Cuttlefish با ساخت خود:

    cvd create

    Cuttlefish با استفاده از هدف ساخته شده شما ( sdv_core_cf-trunk_staging-userdebug ) اجرا می‌شود. پس از بوت شدن Cuttlefish، این پیام نمایش داده می‌شود:

    VIRTUAL_DEVICE_BOOT_COMPLETED
    Virtual device booted successfully
  2. برای اتصال به Cuttlefish، adb را اجرا کنید.

  3. برای تأیید اجرای ساخت خود، adb devices اجرا کنید. نتیجه‌ای مشابه این نمایش داده می‌شود:

    List of devices attached
    0.0.0.0:6520 device
  4. برای خاموش کردن دستگاه، cvd stop را اجرا کنید.

برای اجرای چندین نمونه از Cuttlefish با ساختارهای مختلف، به Cuttlefish: multi-tenancy مراجعه کنید.

عیب‌یابی

این بخش نحوه عیب‌یابی خطاهایی را که ممکن است هنگام دانلود، ساخت یا اجرای AAOS SDV رخ دهد، توضیح می‌دهد.

خطاهای RBE

اگر با هرگونه خطای اجرای ساخت از راه دور (RBE) مواجه شدید، تعاریف USE_RBE و ENABLE_RBE_BOOTSTRAP را از .bashrc یا .zshrc حذف کنید.

cvd: مدیر ماشین مجازی crosvm در این دستگاه پشتیبانی نمی‌شود

اگر Cuttlefish گزارش داد که مدیر ماشین مجازی crosvm در دستگاه شما پشتیبانی نمی‌شود، دستور زیر را برای نصب Cuttlefish اجرا کنید:

sudo apt install cuttlefish-common

سی وی دی پیدا نشد

اگر خطای cvd not found دریافت کردید:

  1. دوباره ساختار خود را تنظیم کنید .
  2. ادامه با انتخاب یک هدف .

حلقه‌های سقوط ماهی مرکب

اگر Cuttlefish وارد یک حلقه خرابی شود:

  1. برای متوقف کردن همه نمونه‌های Cuttlefish، cvd stop اجرا کنید.
  2. برای آزمایش مجدد ساخت خود از Cuttlefish استفاده کنید .