این صفحه نحوه دانلود، ساخت و اجرای AAOS SDV روی Cuttlefish را توضیح میدهد.
کلاینت Repo را مقداردهی اولیه کنید
کلاینت خود را برای دسترسی به مخزن منبع اندروید تنظیم کنید:
یک دایرکتوری کاری مانند
sdvایجاد کنید و به آن بروید:mkdir WORKING_DIRECTORYcd WORKING_DIRECTORYدایرکتوری کاری خود را برای کنترل منبع مقداردهی اولیه کنید:
این مثال از شاخه
26Q2-fs-releaseاستفاده میکند.RELEASE=26Q2-fs-releaserepo 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 آزمایش کنید.
برای شروع Cuttlefish با ساخت خود:
cvd createCuttlefish با استفاده از هدف ساخته شده شما (
sdv_core_cf-trunk_staging-userdebug) اجرا میشود. پس از بوت شدن Cuttlefish، این پیام نمایش داده میشود:VIRTUAL_DEVICE_BOOT_COMPLETED Virtual device booted successfullyبرای اتصال به Cuttlefish،
adbرا اجرا کنید.برای تأیید اجرای ساخت خود،
adb devicesاجرا کنید. نتیجهای مشابه این نمایش داده میشود:List of devices attached 0.0.0.0:6520 deviceبرای خاموش کردن دستگاه،
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 دریافت کردید:
- دوباره ساختار خود را تنظیم کنید .
- ادامه با انتخاب یک هدف .
حلقههای سقوط ماهی مرکب
اگر Cuttlefish وارد یک حلقه خرابی شود:
- برای متوقف کردن همه نمونههای Cuttlefish،
cvd stopاجرا کنید. - برای آزمایش مجدد ساخت خود از Cuttlefish استفاده کنید .