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

לפני שמורידים ובונים את ההסתעפות main של מקור Android, צריך לוודא שהחומרה עומדת בדרישות הנדרשות ושהתוכנה הנדרשת מותקנת כראוי. עליך להכיר גם את המונחים הבאים:

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

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

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

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

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

  • זיכרון RAM בנפח 64GB לפחות. לפיתוח של מערכת Android Google משתמשת במכונות עם 72 ליבות עם RAM בנפח 64GB. בתצורת החומרה הזו נדרשות כ-40 דקות לגרסת build מלאה של Android, ורק כמה דקות לפיתוח מצטבר של Android. לעומת זאת, גרסת build מלאה עם 6 ליבות וזיכרון RAM בנפח של 64GB אורכת כ-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, Maker, Python 3 ו-Repo. להסתעפות הראשית של AOSP ב-Android יש גרסאות מוכנות מראש של OpenJDK, Maker ו-Python 3, כך שאין צורך לבצע פעולות התקנה נוספות. בקטע הבא מוסבר איך להתקין את ה-Repo.

התקנת המאגר

כדי להתקין את ה-Repo, מבצעים את השלבים הבאים:

  1. מורידים את פרטי החבילה הנוכחיים:

    sudo apt-get update
    
  2. מריצים את הפקודה הבאה כדי להתקין את מרכז האפליקציות של ה-Repo:

    sudo apt-get install repo
    

    במרכז האפליקציות של ה-Repo יש סקריפט Python שמפעיל תהליך תשלום ומוריד את כלי ה-Repo המלא.

    אם הפעולה בוצעה ללא שגיאות, מדלגים לשלב 4.

  3. (אופציונלי) מתקינים את המאגר באופן ידני באמצעות סדרת הפקודות הבאה:

    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 לקובץ ומאמתות שהמפתח שסופק תואם למפתח הנדרש. אם הפקודות האלה מצליחות, הפקודה הסופית מתקינה את מרכז האפליקציות של המאגר.

  4. איך מאמתים את גרסת מרכז האפליקציות:

    repo version
    

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

    repo launcher version 2.40

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

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

export OUT_DIR=my_other_drive

מה השלב הבא?