الإعداد لتطوير البرامج باستخدام AOSP (الإصدار 9.0 أو الإصدارات الأحدث)

قبل تنزيل الإصدار main من مصدر Android وإنشاءه، تأكَّد من أنّه تستوفي الأجهزة المتطلبات اللازمة وأنّه تم تثبيت البرامج المطلوبة بشكل صحيح. يجب أيضًا أن تكون على دراية بالمصطلحات التالية:

Git
Git هو نظام تحكم في الإصدارات موزّع ومفتوح المصدر. يستخدم نظام التشغيل Android Git لإجراء العمليات المحلية، مثل إنشاء الفروع وعمليات الإضافة ومقارنة الاختلافات والتعديلات. للحصول على مساعدة في تعلُّم Git، يمكنك الرجوع إلى مستندات Git.
Repo
Repo هو حزمة Python حول Git تعمل على تبسيط تنفيذ العمليات المعقدة في مستودعات Git المتعددة. لا يحلّ Repo محلّ Git في جميع عمليات التحكّم في الإصدارات، بل يسهّل فقط تنفيذ عمليات Git المعقّدة. يستخدم Repo ملفات البيان لتجميع مشاريع Git في المشروع الفائق لنظام التشغيل Android.
ملف البيان
ملف البيان هو ملف XML يحدّد مكان وضع مشاريع Git المختلفة في مصدر Android ضمن شجرة مصدر AOSP.

متطلبات أجهزة Meet

يجب أن تستوفي محطة عمل التطوير متطلبات الأجهزة التالية أو تتجاوزها:

  • نظام x86‏ 64 بت

  • مساحة خالية على القرص لا تقل عن 400 غيغابايت لفحص الرمز البرمجي وإنشاءه (250 غيغابايت لفحص الرمز البرمجي + 150 غيغابايت لإنشاءه)

  • ذاكرة وصول عشوائي (RAM) بسعة 64 غيغابايت على الأقل تستخدم Google أجهزة تتضمّن 72 نواة وذاكرة وصول عشوائي (RAM) بسعة 64 غيغابايت لإنشاء نظام التشغيل Android. باستخدام إعدادات الأجهزة هذه، يستغرق ملف الإصدار الكامل من Android حوالي 40 دقيقة، بينما يستغرق ملف الإصدار المتزايد من Android بضع دقائق فقط. في المقابل، يستغرق الإصدار الكامل باستخدام جهاز مزوّد بـ 6 نوى وذاكرة وصول عشوائي بسعة 64 غيغابايت مدة 6 ساعات تقريبًا.

استيفاء متطلبات نظام التشغيل

يجب أن تعمل محطة عمل التطوير على أي إصدار من توزيعات Linux‏ 64 بت مع مكتبة GNU C Library (glibc) 2.17 أو إصدار أحدث.

تثبيت الحِزم المطلوبة

لإنشاء نظام التشغيل Android 11 أو إصدار أحدث، يجب استخدام الإصدار 18.04 من Ubuntu أو إصدار أحدث. لتثبيت الحِزم المطلوبة لنظام التشغيل Ubuntu 18.04 أو الإصدارات الأحدث، شغِّل الأمر التالي:

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev-i386 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

من بين الحِزم المثبَّتة، يُثبِّت هذا الأمر Git، الذي يُستخدَم لتنزيل مصدر AOSP.

تثبيت البرامج المطلوبة

قبل أن تتمكّن من العمل مع AOSP، يجب تثبيت OpenJDK وMake وPython 3 وRepo. يتضمّن الفرع الرئيسي من AOSP لنظام التشغيل Android إصدارات مُسبقة الإنشاء من OpenJDK وMake وPython 3، لذا ليست هناك حاجة إلى خطوات تثبيت إضافية. يوضّح القسم التالي كيفية تثبيت Repo.

تثبيت Repo

اتّبِع الخطوات التالية لتثبيت Repo:

  1. تنزيل معلومات الحزمة الحالية:

    sudo apt-get update
  2. شغِّل الأمر التالي لتثبيت مشغِّل Repo:

    sudo apt-get install repo

    يقدّم مشغّل Repo نصًا برمجيًا بلغة Python يُنشئ عملية فحص وينزّل أداة Repo الكاملة.

    إذا نجحت، انتقِل إلى الخطوة 4.

  3. (اختياري) تثبيت Repo يدويًا باستخدام سلسلة الأوامر التالية:

    export REPO=$(mktemp /tmp/repo.XXXXXXXXX)
    curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo
    gpg --recv-keys 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
    curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo

    تعمل الأوامر الثلاث الأولى على إعداد ملف مؤقت وتنزيل Repo إلى الملف، وتحقق مما إذا كان المفتاح المقدَّم يتطابق مع المفتاح المطلوب. إذا كانت هذه الأوامر ناجحة، سيؤدي الأمر الأخير إلى تثبيت مشغّل Repo.

  4. تأكَّد من إصدار مشغّل Repo:

    repo version

    من المفترض أن يشير الإخراج إلى الإصدار 2.4 أو إصدار أحدث، على سبيل المثال:

    repo launcher version 2.45

ضبط دليل إخراج بديل

يتم تلقائيًا تخزين الناتج من كل عملية إنشاء في الدليل الفرعي out/ من شجرة المصدر المطابقة. يمكنك إلغاء هذا الدليل من خلال تصدير متغيّر البيئة OUT_DIR. على سبيل المثال، إذا كنت تريد تخزين الإخراج على محرك أقراص مختلف، يمكنك توجيه OUT_DIR إلى هذا المحرك:

export OUT_DIR=my_other_drive

ما هي الخطوات التالية؟