جهاز Android الافتراضي كنظام أساسي للتطوير

لاستخدام أجهزة Android الافتراضية (AVD)، محاكي Android واجهة مستخدم تصويرية (GUI) وواجهة سطر الأوامر (CLI). يمكنك تحديد لسير العمل الأمثل لبيئتك.

  • إنشاء الأجهزة الافتراضية وإدارتها واجهة المستخدم الرسومية هي أداة مباشرة يتم توفيرها لمعظم مطوري التطبيقات ومستخدميها.
  • بدء المحاكي من سطر الأوامر يوفّر هذا الإصدار طريقة مرنة للمستخدمين المتمرّسين وعمليات التشغيل الآلي. على سبيل المثال، لاستخدام لعدّة "متوسّط مدة مشاهدة" (AVD) أو لإعداد اختبار مستمر ودمج متواصل. للبدء، يمكنك الاطّلاع على الأمثلة في الأدوات).

إطلاق متوسّط مدة المشاهدة (AVD) للسيارة التي تعمل بنظام التشغيل AOSP باستخدام نظام التشغيل التلقائي

لتشغيل 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. لتنزيل رقم تعريف إصدار آخر وتثبيته، شغِّل ./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):

  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

    ملاحظات حول هذه العملية:

    • لأنّ عملية التصميم هي نفسها المطلوبة لإصدار Android لجهاز فعلي، انتظر بعض الوقت لتنزيل المصدر ثم إنشائه.
    • للعمل على فروع أخرى، يجب ضبط $ANDROID_BRANCH على فروع أخرى. branch/tag.
    • تم إنشاء صور متوسّط مدة المشاهدة، مثل system.img، في $ANDROID_PRODUCT_OUT. لمزيد من المعلومات عن الصور الرئيسية، يُرجى الاطّلاع على متوسّط مدة المشاهدة دليل النظام.
    • يمكنك الاطّلاع على ملفّ README للتعرّف على كيفية استخدام برامج المحاكاة الثنائية التي تمّ إنشاؤها مسبقًا في شجرة Android وتشغيل المحاكي.

إنشاء متوسّط مدة مشاهدة للسيارة

إضافة متوسّط مدة المشاهدة لسيارة جديدة مماثلة تقريبًا إضافة جهاز جديد. على سبيل المثال: 1660554 ينشئ "متوسّط مدة المشاهدة" avd_car جديدًا.

لإنشاء متوسّط مدة مشاهدة للسيارة:

  1. أنشئ شركة ومجلدًا للجهاز حسب الحاجة. يستخدم هذا المثال $ANDROID_BUILD_TOP/device/google_car/avd_car
  2. أنشِئ ملف Makefile الخاص بالمنتج، avd_car.mk، والذي يحدد كيفية إنشاء متوسّط مدة المشاهدة.
  3. أنشئ مجلدًا على الجهاز، "avd_car_device"، يحتوي عليه BoardConfig.mk وsource.properties
  4. إضافة طريقة الدفع "makefile" الجديدة وخيار "lunch" الجديد إلى AndroidProducts.mk
  5. لإنشاء "متوسّط مدة المشاهدة" الجديد في "avd_car" وتشغيله:
    . build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
أنت الآن جاهز لوضع نموذج أوّلي لمعظم ميزات واجهة المستخدم (HMI) والتطبيقات على متوسّط مدة المشاهدة الجديد.

تجميع ملف ZIP لصورة AVD

يمكنك تجميع متوسّط مدة المشاهدة ومشاركته مع الآخرين أو استخدامه على جهاز آخر. الكمبيوتر. استخدام emu_img_zip.mk لإنشاء ملف ZIP لصورة AVD:

  1. بعد إنشاء متوسّط مدة المشاهدة، اضبط emu_img_zip على الهدف التالي:
    m emu_img_zip
  2. إنّ ملف ZIP لصورة AVD، الذي يبدأ بـ sdk-repo-linux-system-images، هو تم إنشاؤه في المجلد باسم $ANDROID_PRODUCT_OUT.

إنشاء نواة متوسّط مدة المشاهدة

تشبه نواة AVD نواة Android الأخرى من حيث أنّها صور معدّة مسبقًا. عادةً، يمكنك استخدام صور kernel الذهبية القياسية المعدة مسبقًا كما هي من لكل إصدار من إصدارات 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. استبدِل البرنامج الثنائي للنواة في قاعدة الرموز وفقًا لملف 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" على إجماع المستخدمين عند تضمين هذا الترخيص.

لإنشاء الصورة:

  1. جهِّز ملف ZIP لصورة 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. عدِّل اسم الملف المضغوط وحجمه و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)

لتنزيل متوسّط مدة المشاهدة من الشبكة:

  1. استضِف ملف ZIP للصور وملفات XML على خادم.
  2. قدِّم عنوان URL إلى المستخدمين المستهدَفين.
  3. (اختياري) يمكنك تقييد الوصول حسب اسم المستخدم وكلمة المرور.

يمكنك بدلاً من ذلك تنزيل AVD إلى دليل محلي لتسريع عملية التطوير:

  1. حفظ ملفات XML وكافة العناصر المحددة في ملف XML إلى مجلد (على سبيل المثال، جميع ملفات ZIP لصور AVD) باسم ADDON_DIR.
  2. حدِّد عنوان URL على أنّه file://$ADDON_DIR/oem-sys-img2-1.xml.