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

לפני שאתם מורידים ויוצרים את הסתעפות הגרסה האחרונה של 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.

דרישות החומרה של Meet

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

  • מערכת x86 של 64 ביט.

  • לפחות 400GB של מקום פנוי בכונן כדי לבדוק ולבנות את הקוד (250GB לבדיקה + 150GB לבנייה).

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

התקנת Repo

כדי להתקין את Repo:

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

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

    sudo apt-get install repo

    מרכז האפליקציות של Repo מספק סקריפט Python שמפעיל את ה-checkout ומוריד את הכלי המלא של 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

מה השלב הבא?