راه‌اندازی برای توسعه AOSP (نسخه ۹.۰ یا بالاتر)

قبل‌از بارگیری و ساختن جدیدترین شاخه انتشار Android (android17-release) از منبع Android، مطمئن شوید که سخت‌افزارتان الزامات لازم را برآورده می‌کند و نرم‌افزار موردنیاز به‌درستی نصب شده است. همچنین باید با شرایط زیر آشنا باشید:

Git
Git یک سیستم کنترل نسخه توزیع‌شده رایگان و متن‌باز است. ‫Android از Git برای عملیات محلی مانند انشعاب، ثبت، تفاوت‌ها، و ویرایش‌ها استفاده می‌کند. برای راهنمایی درباره یادگیری Git، به اسناد Git مراجعه کنید.
Repo
‫
Repo یک پوشاننده Python در اطراف Git است که انجام عملیات پیچیده در چندین مخزن Git را ساده می‌کند. Repo جایگزین Git برای همه عملیات کنترل نسخه نمی‌شود، بلکه فقط انجام عملیات پیچیده Git را آسان‌تر می‌کند. Repo از فایل‌های مانیفست برای جمع‌آوری پروژه‌های Git در ابرپروژه Android استفاده می‌کند.
فایل مانیفست
فایل مانیفست یک فایل XML است که مشخص می‌کند پروژه‌های مختلف Git در منبع Android در کجای درخت منبع AOSP قرار دارند.

رعایت کردن الزامات سخت‌افزاری

ایستگاه کاری توسعه شما باید این الزامات سخت‌افزاری را برآورده کند یا فراتر از آن‌ها باشد:

  • سیستم x86‏ ۶۴ بیتی.

  • حداقل ۴۰۰ گیگابایت فضای دیسک آزاد برای بررسی و ساخت کد (۲۵۰ گیگابایت برای بررسی + ۱۵۰ گیگابایت برای ساخت).

  • حداقل ۶۴ گیگابایت RAM. Google برای ساخت Android از دستگاه‌های ۷۲ هسته‌ای با ۶۴ گیگابایت RAM استفاده می‌کند. با این پیکربندی سخت‌افزاری، ساخت کامل Android حدود ۴۰ دقیقه و ساخت افزایشی Android فقط چند دقیقه طول می‌کشد. درمقابل، ساخت کامل با دستگاه ۶ هسته‌ای با ۶۴ گیگابایت حافظه دسترسی تصادفی تقریباً ۶ ساعت طول می‌کشد.

رعایت کردن الزامات سیستم‌عامل

ایستگاه کاری توسعه شما باید هر توزیع لینوکس ۶۴ بیتی با GNU C Library (glibc) نسخه ۲.۱۷ یا بالاتر را اجرا کند.

نصب بسته‌های لازم

برای ساختن Android 11 یا بالاتر، باید از Ubuntu 18.04 یا جدیدتر استفاده کنید. برای نصب بسته‌های موردنیاز برای Ubuntu نسخه ۱۸.۰۴ یا بالاتر، فرمان زیر را اجرا کنید:

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 را بارگیری می‌کند.

    اگر موفقیت‌آمیز بود، به مرحله ۴ بروید.

  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

    برونداد باید نسخه ۲.۴ یا بالاتر را نشان دهد، برای مثال:

    repo launcher version 2.45
    

تنظیم دایرکتوری برونداد جایگزین

به‌طور پیش‌فرض، برونداد هر ساخت در زیرفهرست راهنمای out/ از درخت منبع منطبق ذخیره می‌شود. می‌توانید با صادر کردن متغیر محیطی OUT_DIR، این دایرکتوری را لغو کنید. برای مثال، اگر می‌خواهید خروجی‌تان را در درایو دیگری ذخیره کنید، می‌توانید OUT_DIR را به آن درایو هدایت کنید:

export OUT_DIR=my_other_drive

حالا چه می‌شود؟