برای استفاده از دستگاههای مجازی اندروید (AVD)، شبیهساز اندروید از رابط کاربری گرافیکی (GUI) و رابط خط فرمان (CLI) پشتیبانی میکند. شما گردش کار بهینه را برای محیط خود انتخاب می کنید.
- ایجاد و مدیریت دستگاههای مجازی رابط کاربری گرافیکی ابزار سادهای است که برای اکثر توسعهدهندگان و کاربران برنامه ارائه میشود.
- شبیه ساز را از خط فرمان شروع کنید، راه انعطاف پذیری را برای کاربران قدرتمند و اتوماسیون فراهم می کند. به عنوان مثال، برای استفاده از چندین AVD یا راه اندازی آزمایش مداوم و یکپارچه سازی مداوم. برای شروع، به مثالهای موجود در tools مراجعه کنید).
AOSP Car AVD را با استفاده از پیش ساخته راه اندازی کنید
برای راهاندازی و آزمایش سریع با استفاده از AOSP Car AVD از پیش ساخته شده، از یک اسکریپت منبع باز برای دانلود و راهاندازی ساخت شبیهساز از ci.android.com
استفاده کنید. این اسکریپت روی macOS و Linux تست شده است.
برای استفاده از این اسکریپت به Curl نیاز دارید.
برای اجرای اسکریپت:
- با فرض اینکه از
launch_emu.sh
به عنوان نام فایل محلی استفاده می کنید، محتویات اسکریپتlaunch_emu.sh
را در فایل محلی خود کپی کنید. - اسکریپت محلی خود را قابل اجرا کنید. برای مثال،
chmod +x ./launch_emu.sh
را اجرا کنید. - با اجرای اسکریپت با
./launch_emu.sh -h
گزینه های موجود را بررسی کنید. - در
ci.android.com
، به شاخهaosp-main-throttled
بروید و یک بیلد اخیر را انتخاب کنید که در آنsdk_car_x86_64
سبز است. به عنوان مثال، 11370359. اگر اطلاعات ساخت را نمی بینید، از حساب Google خود خارج شوید و دوباره امتحان کنید. - فایل های باینری مربوط به شبیه ساز را با شناسه ساخت دانلود و نصب کنید. برای مثال،
./launch_emu.sh -i -a 11370359
. - پس از این، می توانید از
./launch_emu.sh
برای راه اندازی شبیه ساز دانلود شده و نصب شده استفاده کنید (از گزینه های-i
یا-a
استفاده نکنید). - برای دانلود و نصب یک شناسه ساخت دیگر،
./launch_emu.sh -c
را اجرا کنید تا فضای کاری خود را تمیز کنید و سپس مرحله 4 و مرحله 5 را در بالا تکرار کنید.
برای مشخص کردن گزینههای گزینههای راهاندازی خط فرمان شبیهساز اندروید هنگام راهاندازی شبیهساز، از گزینه -v
استفاده کنید. به عنوان مثال:
./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"
یک AOSP Car AVD بسازید
فرآیند ساخت AOSP Car AVD مشابه ساخت تصاویر AVD برای تلفن است (به عنوان مثال، aosp_car_x86_64):
- برای راهاندازی محیط توسعه و شناسایی یک شاخه، به ابزار کنترل منبع مراجعه کنید. سپس دانلود منبع را مرور کنید:
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 - ساخت تصویر AVD:
. build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
- تصویر AVD را اجرا کنید (در صورت نیاز گزینه های اضافی راه اندازی خط فرمان را اضافه کنید):
emulator &
به عنوان مثال:
شکل 1. صفحه نمایش شبیه ساز مجازی اندروید
نکاتی در مورد این فرآیند:
- از آنجایی که فرآیند ساخت همان چیزی است که برای ساخت اندروید برای یک دستگاه فیزیکی لازم است، کمی زمان بگذارید تا منبع را دانلود کنید و سپس آن را بسازید.
- برای کار روی شاخههای دیگر،
$ANDROID_BRANCH
را روی شاخه/برچسب دیگری تنظیم کنید. - تصاویر AVD، مانند
system.img
، در$ANDROID_PRODUCT_OUT
ساخته شدهاند. برای کسب اطلاعات بیشتر در مورد تصاویر کلیدی، دایرکتوری سیستم AVD را ببینید. - برای آشنایی با نحوه استفاده از باینری های شبیه ساز از پیش ساخته شده در درخت اندروید شما برای اجرای شبیه ساز، به فایل README مراجعه کنید.
یک ماشین AVD ایجاد کنید
افزودن یک ماشین AVD جدید تقریباً مشابه افزودن یک دستگاه جدید است. به عنوان مثال، 1660554 یک avd_car
AVD جدید ایجاد می کند.
برای ایجاد یک ماشین AVD:
- در صورت نیاز یک شرکت و یک پوشه دستگاه ایجاد کنید. این مثال از
$ANDROID_BUILD_TOP/device/google_car/avd_car
استفاده میکند. - فایل makefile محصول،
avd_car.mk
را ایجاد کنید، که نحوه ساخت AVD را تعریف می کند. - یک پوشه دستگاه،
avd_car_device
ایجاد کنید، که در آنBoardConfig.mk
وsource.properties
باشد. -
makefile
جدید و انتخابlunch
جدید را بهAndroidProducts.mk
اضافه کنید. - برای ساخت و اجرای
avd_car
AVD جدید:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
یک فایل فشرده تصویر AVD را بسته بندی کنید
می توانید AVD خود را بسته بندی کرده و با دیگران به اشتراک بگذارید یا از آن در رایانه دیگری استفاده کنید. برای تولید فایل فشرده تصویر AVD از emu_img_zip.mk
استفاده کنید:
- پس از ساخت AVD،
emu_img_zip
را هدف قرار دهید:m emu_img_zip
- فایل فشرده تصویر AVD، با پیشوند
sdk-repo-linux-system-images
، در پوشه ای به نام$ANDROID_PRODUCT_OUT
ایجاد می شود.
یک هسته AVD بسازید
هستههای AVD مشابه دیگر هستههای اندروید هستند که همگی تصاویر از پیش ساخته شدهاند. به طور معمول، می توانید از تصاویر از پیش ساخته شده استاندارد هسته ماهی قرمز مانند هر نسخه اندروید استفاده کنید.
برای آزمایش تغییرات هسته:
- سری دستورالعمل های زیر را اجرا کنید:
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/
- باینری هسته را در پایگاه کد مطابق با فایل makefile AVD جایگزین کنید. برای مثال،
x86_64-vendor.mk
شاملx86_64-kernel.mk
است.
کد و پیکربندی هسته به صورت زیر است:
مورد | ارزش |
---|---|
شعبه | common-android11-5.4 (مورد استفاده در اندروید 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 به فایل اضافه کرد.
- فایل را در فایل فشرده تصویر OEM AVD در پوشه
[ABI]
قرار دهید. به عنوان مثال، به عنوانx86_64
. - سازندگان دستگاه همچنین می توانند یک پوسته شبیه ساز ایجاد کنند . به عنوان مثال، برای تعریف دکمه های سخت افزاری اضافی برای UX با وفاداری بالاتر. این نه تنها برای گردش کار توسعه دهندگان مفید است، بلکه برای کارهای دیگری مانند تحقیق و بررسی UX نیز مفید است.
فایل XML تصویر AVD را ایجاد کنید
سازندگان دستگاه می توانند یک فایل AVD Image XML برای Android Studio ایجاد کنند تا آن را دانلود کنند.
- برای مثال، فایل XML تصویر AAOS AVD،
sys-img2-1.xml
را ببینید. - سازندگان دستگاه میتوانند با مجوز برای شبیهساز اندروید، قرارداد مجوز OEM AVD خود را برای کاربران هدف خود (با استفاده از سیستم افتخاری) تعریف کنند. زمانی که چنین مجوزی گنجانده شود اندروید استودیو با اجماع کاربران مواجه می شود.
برای ایجاد تصویر:
- یک فایل فشرده تصویر AVD آماده کنید.
-
${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip
از حالت فشرده خارج کنید. -
devices.xml
به پوشهx86_64
اضافه کنید و سپس فایل را در یک فایل فشرده فشرده کنید. به عنوان مثال، به عنوانoem_avd_img_x86_64.zip
. -
oem-sys-img2-1.xml
را به روز کنید. - نام، اندازه و 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 باشد، نشانی اینترنتی این است: https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml
.
یک تصویر AVD را با کاربران Android Studio به اشتراک بگذارید
برای اینکه کاربران شما بتوانند تصاویر AVD را دانلود کنند و از AVD خود توسط Android Studio استفاده کنند، می توانید یک فایل XML الحاقی SDK تهیه کنید. برای جزئیات، به بهروزرسانی ابزارهای IDE و SDK مراجعه کنید.
برای دانلود AVD از شبکه:
- فایل فشرده تصویر و فایل های XML را روی یک سرور میزبانی کنید.
- URL را در اختیار کاربران هدف خود قرار دهید.
- ( اختیاری ) دسترسی را با نام کاربری و رمز عبور محدود کنید.
از طرف دیگر، برای سرعت بخشیدن به توسعه، AVD را در یک فهرست محلی دانلود کنید:
- فایل های XML و تمام مصنوعات مشخص شده در فایل XML را در پوشه ای (به عنوان مثال، همه فایل های فشرده تصویر AVD) به نام
ADDON_DIR
ذخیره کنید. - URL را به عنوان
file://$ADDON_DIR/oem-sys-img2-1.xml
مشخص کنید.