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

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

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

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

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

  • نظام x86‏ 64 بت

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

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

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

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

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

لإنشاء الإصدار 11 من نظام التشغيل Android أو إصدار أحدث، يجب استخدام الإصدار 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. يتضمّن أحدث فرع إصدار من 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

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