لاستخدام أجهزة Android الافتراضية (AVD)، محاكي Android واجهة مستخدم تصويرية (GUI) وواجهة سطر الأوامر (CLI). يمكنك تحديد لسير العمل الأمثل لبيئتك.
- إنشاء الأجهزة الافتراضية وإدارتها واجهة المستخدم الرسومية هي أداة مباشرة يتم توفيرها لمعظم مطوري التطبيقات ومستخدميها.
- بدء المحاكي من سطر الأوامر يوفّر هذا الإصدار طريقة مرنة للمستخدمين المتمرّسين وعمليات التشغيل الآلي. على سبيل المثال، لاستخدام لعدّة "متوسّط مدة مشاهدة" (AVD) أو لإعداد اختبار مستمر ودمج متواصل. للبدء، يمكنك الاطّلاع على الأمثلة في الأدوات).
إطلاق متوسّط مدة المشاهدة (AVD) للسيارة التي تعمل بنظام التشغيل AOSP باستخدام نظام التشغيل التلقائي
لتشغيل 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
لإزالة البرامج غير المرغوب فيها. Workspace ثم كرر الخطوة 4 والخطوة 5 أعلاه.
لتحديد محاكي Android
خيارات بدء تشغيل سطر الأوامر
الخيارات عند تشغيل المحاكي، فاستخدم الخيار -v
. مثلاً:
./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"
إنشاء متوسّط مدة مشاهدة (AVD) للسيارة مستنِدة إلى بروتوكول AOSP
تتشابه عملية إنشاء متوسّط مدة مشاهدة السيارة (AOSP) مع إنشاء صور 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
ملاحظات حول هذه العملية:
- لأنّ عملية التصميم هي نفسها المطلوبة لإصدار Android لجهاز فعلي، انتظر بعض الوقت لتنزيل المصدر ثم إنشائه.
- للعمل على فروع أخرى، يجب ضبط
$ANDROID_BRANCH
على فروع أخرى. branch/tag. - تم إنشاء صور متوسّط مدة المشاهدة، مثل
system.img
، في$ANDROID_PRODUCT_OUT
. لمزيد من المعلومات عن الصور الرئيسية، يُرجى الاطّلاع على متوسّط مدة المشاهدة دليل النظام. - يمكنك الاطّلاع على ملفّ README للتعرّف على كيفية استخدام برامج المحاكاة الثنائية التي تمّ إنشاؤها مسبقًا في شجرة Android وتشغيل المحاكي.
إنشاء متوسّط مدة مشاهدة للسيارة
إضافة متوسّط مدة المشاهدة لسيارة جديدة مماثلة تقريبًا
إضافة جهاز جديد. على سبيل المثال:
1660554
ينشئ "متوسّط مدة المشاهدة" avd_car
جديدًا.
لإنشاء متوسّط مدة مشاهدة للسيارة:
- أنشئ شركة ومجلدًا للجهاز حسب الحاجة. يستخدم هذا المثال
$ANDROID_BUILD_TOP/device/google_car/avd_car
- أنشِئ ملف Makefile الخاص بالمنتج،
avd_car.mk
، والذي يحدد كيفية إنشاء متوسّط مدة المشاهدة. - أنشئ مجلدًا على الجهاز، "
avd_car_device
"، يحتوي عليهBoardConfig.mk
وsource.properties
- إضافة طريقة الدفع "
makefile
" الجديدة وخيار "lunch
" الجديد إلىAndroidProducts.mk
- لإنشاء "متوسّط مدة المشاهدة" الجديد في "
avd_car
" وتشغيله:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
تجميع ملف ZIP لصورة AVD
يمكنك تجميع متوسّط مدة المشاهدة ومشاركته مع الآخرين أو استخدامه على جهاز آخر.
الكمبيوتر. استخدام emu_img_zip.mk
لإنشاء ملف ZIP لصورة AVD:
- بعد إنشاء متوسّط مدة المشاهدة، اضبط
emu_img_zip
على الهدف التالي:m emu_img_zip
- إنّ ملف ZIP لصورة AVD، الذي يبدأ بـ
sdk-repo-linux-system-images
، هو تم إنشاؤه في المجلد باسم$ANDROID_PRODUCT_OUT
.
إنشاء نواة متوسّط مدة المشاهدة
تشبه نواة AVD نواة Android الأخرى من حيث أنّها صور معدّة مسبقًا. عادةً، يمكنك استخدام صور kernel الذهبية القياسية المعدة مسبقًا كما هي من لكل إصدار من إصدارات Android.
لتجربة تغييرات النواة:
- نفِّذ سلسلة التعليمات التالية:
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
.
يتم وضع شفرة النواة والتهيئة كما يلي:
اسم | القيمة |
---|---|
Branch | common-android11-5.4 (مستخدَم في Android 11) |
البيان | kernel/manifest/common-android11-5.4 |
الوحدات الشائعة/الجهاز الافتراضي | kernel/common-modules/virtual-device/android11-5.4 |
Kernel | kernel/common/android11-5.4 |
إنشاء ملف شخصي جديد للجهاز
لتمكين المستخدمين من إنشاء AVD محدد في مدير AVD في "استوديو Android"، يُرجى مراجعة
إنشاء الأجهزة الافتراضية وإدارتها
يمكن لمصنعي الأجهزة تحديد مواصفات الأجهزة الخاصة بهم، مثل حجم الشاشة وعدد النقاط لكل بوصة (DPI).
من خلال استخدام ملف devices.xml
مضمّن في صورة AVD
- على سبيل المثال، يمكنك الاطّلاع على الملفات الشخصية لأجهزة Automotive في
automotive.xml
. - لتطوير أو نماذج HMI، يمكن إضافة أجهزة متعددة إلى لصورة AVD نفسها.
- أدرِج الملف في ملف ZIP لصورة AVD للمصنّع الأصلي للجهاز في المجلد
[ABI]
. على سبيل المثال، بالتنسيقx86_64
. - يمكن لصنّاع الأجهزة أيضًا إنشاء مظهر المحاكي. على سبيل المثال، لتحديد أزرار أجهزة إضافية لتجربة المستخدم عالية الدقة. وهي ليست مفيدة لسير عمل المطوّرين فحسب، بل تشمل أيضًا مهامًا أخرى، مثل إجراء بحث تجربة المستخدم. والمراجعة.
أنشِئ ملف XML لصورة AVD.
يمكن لصنّاع الأجهزة إنشاء ملف بتنسيق XML لصورة AVD ليتم تنزيل من "استوديو Android" بها.
- على سبيل المثال، يمكنك الاطّلاع على ملف XML الخاص بصورة AAOS AVD، وهو
sys-img2-1.xml
. - يمكن لمصنعي الأجهزة تحديد اتفاقية ترخيص متوسّط مدة المشاهدة الخاصة بالمُصنّع الأصلي للمستخدمين المستهدَفين (يستخدم نظام الشرف)، مع ترخيص Android Emulator. جهاز Android يحصل "استوديو YouTube" على إجماع المستخدمين عند تضمين هذا الترخيص.
لإنشاء الصورة:
- جهِّز ملف ZIP لصورة AVD.
- فك ضغط
${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip
. - أضِف "
devices.xml
" إلى مجلد "x86_64
" ثم اضغط الملف ملف zip. على سبيل المثال، بالتنسيق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، سيكون عنوان URL هو: https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml
.
مشاركة صورة AVD مع مستخدمي "استوديو Android"
ليتمكّن المستخدمون من تنزيل صور متوسّط مدة المشاهدة واستخدام متوسّط مدة المشاهدة من خلال "استوديو Android"، يمكنك: توفير ملف XML لإضافة حزمة SDK. للحصول على التفاصيل، يمكنك مراجعة تحديث أدوات حزمة تطوير البرامج (SDK) وبيئات التطوير المتكاملة (IDE)
لتنزيل متوسّط مدة المشاهدة من الشبكة:
- استضِف ملف ZIP للصور وملفات XML على خادم.
- قدِّم عنوان URL إلى المستخدمين المستهدَفين.
- (اختياري) يمكنك تقييد الوصول حسب اسم المستخدم وكلمة المرور.
يمكنك بدلاً من ذلك تنزيل AVD إلى دليل محلي لتسريع عملية التطوير:
- حفظ ملفات XML وكافة العناصر المحددة في ملف XML إلى مجلد
(على سبيل المثال، جميع ملفات ZIP لصور AVD) باسم
ADDON_DIR
. - حدِّد عنوان URL على أنّه
file://$ADDON_DIR/oem-sys-img2-1.xml
.