الإعداد لتطوير AOSP (الإصدار 9.0 أو الأحدث)

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

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

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

يجب أن تلبي محطة عمل التطوير الخاصة بك متطلبات الأجهزة هذه أو تتجاوزها:

  • نظام 64 بت.

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

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

تلبية متطلبات نظام التشغيل

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

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

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

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev-i386 libncurses5 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.

تثبيت الريبو

اتبع هذه الخطوات لتثبيت الريبو:

  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.5 أو أعلى، على سبيل المثال:

    repo launcher version 2.40

قم بتعيين دليل إخراج بديل

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

export OUT_DIR=my_other_drive

ماذا بعد؟