לפני שמורידים את ההסתעפות main
של המקור של Android ומפתחים אותה, צריך לוודא שהחומרה עומדת בדרישות הנדרשות ושהתוכנה הנדרשת מותקנת כראוי. מומלץ גם להכיר את המונחים הבאים:
- Git
- Git היא מערכת מבוזרת לניהול גרסאות בקוד פתוח וחינמית. מערכת Android משתמשת ב-Git לפעולות מקומיות כמו יצירת הסתעפויות, התחייבויות, השוואות ועריכות. לקבלת עזרה בשימוש ב-Git, אפשר לעיין במסמכי התיעוד של Git.
- Repo
- Repo הוא מעטפת של Python ל-Git שמפשטת את ביצוע הפעולות המורכבות במספר מאגרי Git. Repo לא מחליף את Git בכל פעולות בקרת הגרסאות, אלא רק מקל על ביצוע פעולות מורכבות ב-Git. מערכת Repo משתמשת בקובצי מניפסט כדי לצבור פרויקטים ב-Git לפרויקט העל של Android.
- קובץ מניפסט
- קובץ מניפסט הוא קובץ XML שמציין את המיקום של פרויקטי Git השונים במקור של Android בתוך עץ המקור של AOSP.
עמידה בדרישות החומרה
תחנת הפיתוח צריכה לעמוד בדרישות החומרה הבאות או לעלות עליהן:
מערכת x86 של 64 ביט.
שטח פנוי בכונן בנפח של לפחות 400GB כדי לבצע איסוף (checkout) של הקוד ולבנות אותו (250GB לאיסוף + 150GB לבנייה).
זיכרון RAM בנפח 64GB לפחות. Google משתמשת במכונות עם 72 ליבות ו-64GB של זיכרון RAM כדי לפתח את Android. עם הגדרת החומרה הזו, נדרשות כ-40 דקות כדי ליצור גרסה מלאה של Android, וכמה דקות בלבד כדי ליצור גרסה מצטברת של Android. לעומת זאת, תהליך build מלא נמשך כ-6 שעות במכונה עם 6 ליבות ו-64GB של RAM.
עמידה בדרישות של מערכת ההפעלה
בתחנת הפיתוח צריכה לפעול כל הפצה של 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 ב-AOSP מגיעה עם גרסאות מוכנות מראש של OpenJDK, Make ו-Python 3, כך שאין צורך לבצע שלבי התקנה נוספים. בקטע הבא מוסבר איך להתקין את Repo.
התקנת המאגר
כדי להתקין את Repo:
מורידים את פרטי החבילה הנוכחיים:
sudo apt-get update
מריצים את הפקודה הבאה כדי להתקין את מרכז האפליקציות של Repo:
sudo apt-get install repo
מרכז האפליקציות של Repo מספק סקריפט Python שמפעיל את תהליך ה-checkout ומוריד את כלי Repo המלא.
אם הפעולה מסתיימת ללא שגיאות, מדלגים לשלב 4.
(אופציונלי) מתקינים את 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.
בודקים את גרסת מרכז האפליקציות של Repo:
repo version
בפלט צריכה להופיע גרסה 2.4 ואילך, לדוגמה:
repo launcher version 2.45
הגדרת ספריית פלט חלופית
כברירת מחדל, הפלט של כל build מאוחסן בספריית המשנה out/
של עץ המקור התואם. כדי לשנות את ספריית ברירת המחדל, אפשר לייצא את משתנה הסביבה OUT_DIR
. לדוגמה, אם רוצים לשמור את הפלט בכונן אחר, אפשר להפנות את OUT_DIR
לכונן הזה:
export OUT_DIR=my_other_drive
מה השלב הבא?
- כדי להוריד את קוד המקור, ממשיכים אל הורדת קוד המקור של Android.
- לקבלת עזרה בשימוש ב-Git, אפשר לעיין במסמכי התיעוד של Git.
- למסמכי עזרה נוספים בנושא Repo, אפשר לעיין בקובץ README של Repo.
- רשימה של כל הפקודות של Repo מפורטת במאמרי העזרה בנושא פקודות Repo.