הגדרה לפיתוח AOSP (9.0 ואילך)

לפני שמורידים ויוצרים את הענף האחרון של גרסת Android (android16-release) ממקור Android, צריך לוודא שהחומרה עומדת בדרישות הנדרשות ושהתוכנה הנדרשת מותקנת בצורה תקינה. חשוב להכיר גם את המונחים הבאים:

Git
Git היא מערכת חינמית לניהול גרסאות בקוד פתוח. ‫Android משתמשת ב-Git לפעולות מקומיות כמו יצירת ענפים, התחייבויות, הבדלים ועריכות. לקבלת עזרה בלימוד Git, אפשר לעיין במסמכי התיעוד של Git.
Repo
Repo הוא wrapper של Python סביב Git שמפשט ביצוע של פעולות מורכבות בכמה מאגרי Git. ‫Repo לא מחליף את Git בכל הפעולות של בקרת גרסאות, אלא רק מקל על ביצוע פעולות מורכבות ב-Git. ‫Repo משתמש בקובצי מניפסט כדי לצבור פרויקטים של Git בפרויקט העל של Android.
קובץ מניפסט
קובץ מניפסט הוא קובץ XML שמציין איפה ממוקמים הפרויקטים השונים של Git במקור של Android בתוך עץ המקור של AOSP.

דרישות לציוד ל-Meet

עמדת הפיתוח צריכה לעמוד בדרישות החומרה הבאות או להיות טובות יותר:

  • מערכת x86 בגרסת 64 ביט.

  • לפחות 400 GB של שטח פנוי בדיסק כדי לבצע checkout וליצור את הקוד (250 GB ל-checkout + 150 GB ליצירה).

  • זיכרון RAM בנפח 64GB לפחות. ‫Google משתמשת במכונות עם 72 ליבות ו-RAM בנפח 64 GB כדי לבנות את Android. עם הגדרת החומרה הזו, בנייה מלאה של Android נמשכת כ-40 דקות, ובנייה מצטברת של Android נמשכת רק כמה דקות. לעומת זאת, בנייה מלאה במכונה עם 6 ליבות ו-64 GB של RAM נמשכת כ-6 שעות.

עמידה בדרישות של מערכת ההפעלה

במחשב העבודה שלכם לפיתוח צריך להיות מותקן כל הפצת Linux‏ 64 ביט עם GNU C Library‏ (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 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 launcher:

    sudo apt-get install repo

    הכלי Repo launcher מספק סקריפט 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 launcher.

  4. בודקים את הגרסה של Repo launcher:

    repo version

    הפלט צריך לציין גרסה 2.4 ומעלה, לדוגמה:

    repo launcher version 2.45

הגדרת ספריית פלט חלופית

כברירת מחדל, הפלט של כל בנייה מאוחסן בספריית המשנה out/ של עץ המקור התואם. אפשר לשנות את הספרייה הזו על ידי ייצוא של משתנה הסביבה OUT_DIR. לדוגמה, אם רוצים לאחסן את הפלט בכונן אחר, אפשר להפנות את OUT_DIR לכונן הזה:

export OUT_DIR=my_other_drive

מה השלב הבא?