סקירה כללית של AOSP

Android היא מערכת הפעלה למגוון רחב של מכשירים בפורמטים שונים. המסמכים וקוד המקור של Android זמינים לכולם כחלק מפרויקט הקוד הפתוח של Android‏ (AOSP). אפשר להשתמש ב-AOSP כדי ליצור גרסאות מותאמות אישית של מערכת ההפעלה Android למכשירים שלכם.

AOSP תוכנן כך שלא תהיה נקודת כשל מרכזית שבה שחקן אחד בתעשייה מגביל או שולט בחידושים של שחקן אחר. לכן, AOSP הוא מוצר מלא לפיתוח באיכות ייצור, עם קוד מקור פתוח להתאמה אישית ולהעברה.

הקטע הזה במסמכי העזרה עוזר למפתחים חדשים ב-AOSP להתחיל לעבוד עם הפלטפורמה ולבצע משימות פיתוח חיוניות.

התנאים הנדרשים

בהמשך מופיעה רשימה של המונחים וההגדרות המופיעים במשאבי העזרה בנושא 'תחילת העבודה'. מומלץ לקרוא כל הגדרה לפני שממשיכים.

מפתחי אפליקציות ל-Android

מפתחי אפליקציות ל-Android כותבים אפליקציות ל-Android או אפליקציות שפועלות ב-Android. יש שני סיווגים של מפתחי אפליקציות: מפתחי אפליקציות מצד ראשון (1p) ומפתחי אפליקציות מצד שלישי (צד שלישי).

מפַתח של אפליקציות צד ראשון ל-Android
מפתח אפליקציות ל-Android שיש לו גישה לממשקי AOSP System API וכותב אפליקציות בעלות הרשאות וגם אפליקציות של יצרני מכשירים.
מפתחי אפליקציות צד שלישי ל-Android
מפתח אפליקציות ל-Android שמשתמש רק ב-SDK הציבורי של Android כדי ליצור אפליקציות ל-Android.

אם אתם רוצים לפתח אפליקציות של צד שלישי ל-Android, תוכלו לעיין במאמר developers.android.com. המידע באתר הזה מיועד רק למי שעובד ישירות עם AOSP.

גשר לניפוי באגים ב-Android (adb)
כלי שורת פקודה (adb) שמאפשר לתחנת העבודה לתקשר עם מכשיר וירטואלי, מכשיר שמבוסס על אמולציה של תוכנה או מכשיר פיזי.
מכשיר תואם Android
מכשיר שיכול להריץ כל אפליקציה של צד שלישי שנכתבה על ידי מפתחים של צד שלישי באמצעות Android SDK ו-NDK. מכשירי Android תואמים חייבים לעמוד בדרישות של מסמך הגדרת התאימות (CDD) ולעבור את חבילה לבדיקות תאימות (CTS). מכשירים שתואמים ל-Android יכולים להשתתף בסביבה העסקית של Android, שכוללת רישוי פוטנציאלי לחנות Play של Android, רישוי פוטנציאלי לחבילת Google Mobile Services (GMS) של אפליקציות וממשקי API, ושימוש בסימן המסחרי של Android. כל אחד מוזמן להשתמש בקוד המקור של Android, אך כדי להיחשב חלק בסביבה העסקית של Android, מכשיר חייב להיות תואם ל-Android. מידע נוסף על תאימות ו-CTS זמין בסקירה הכללית של תוכנית התאימות ל-Android
מסמך הגדרת תאימות (CDD)
מסמך שמפרט את הדרישות לתוכנה ולחומרה של מכשיר תואם ל-Android.
שותף ביצירת תוכן

אדם שתורם לקוד המקור של AOSP. שותפים יכולים להיות עובדים של Google, עובדים של חברות אחרות ואנשים פרטיים ללא שיוך לחברה. כל תורם תוכן ב-AOSP משתמש באותם כלים, פועל באותו תהליך של בדיקת קוד והוא כפוף לאותו סגנון תכנות. אתם לא צריכים להיות שותפים ליצירה כדי להשתמש ב-AOSP. אתם יכולים להוריד את AOSP, לשנות אותו בהתאם לצרכים שלכם ולפרוס אותו במכשיר בלי לתרום קוד לשימוש של אחרים.

יש מגבלות על סוגי התכנים שאפשר לשלוח ל-Google. לדוגמה, תוכלו לתרום ממשק API חלופי לאפליקציות, כמו סביבה מלאה שמבוססת על C++‎. Google תדחה את התרומה הזו כי ב-Android מומלץ להריץ אפליקציות בסביבת זמן הריצה של ART. באופן דומה, Google לא מקבלת תרומות כמו ספריות GPL או LGPL שלא תואמות ליעדים של הרישוי.

אם אתם רוצים לתרום קוד מקור, עליכם לפנות ל-Google לפני שתתחילו לעבוד.

חבילת בדיקות תאימות (CTS)

חבילת בדיקות בחינם ברמה מסחרית, שזמינה להורדה כקובץ בינארי או כקוד מקור ב-AOSP. ה-CTS הוא סדרה של בדיקות יחידה שמיועדות להשתלב בתהליך העבודה היומיומי שלכם. מטרת ה-CTS היא לחשוף אי-תאימות ולוודא שהתוכנה תישאר תואמת לאורך כל תהליך הפיתוח.

דיונון

מכשיר וירטואלי מבוסס-Android שניתן להגדרה, שאפשר להפעיל מרחוק באמצעות חבילות שירות בענן של צד שלישי, כמו Google Cloud Engine, וגם באופן מקומי במכונות Linux x86.

למפתחים

בהקשר של AOSP, מפתח הוא כל מי שעובד עם AOSP בדרך כלשהי. המונח 'מפתח' מתייחס באופן כללי לאנשים השונים שעשויים לקרוא את המסמכים האלה, כמו יצרני ציוד מקורי (OEM), יצרני טלפונים ניידים, ספקי שירותי סלולר ויוצרים של מערכת על שבב (SoC).

Google Mobile Services‏ (GMS)

אוסף של אפליקציות וממשקי API של Google שאפשר להתקין מראש במכשירים.

Target

וריאציה של מכשיר, כמו דגם ספציפי או גורם צורה. לדוגמה, הערך aosp_cf_x86_64_phone-userdebug מייצג טלפון x86 בנפח 65MB עם מידע לניפוי באגים, שנועד לפעול במהדמ ה-cuttlefish.

פילוסופיית ניהול

קבוצת חברות שנקראת Open Handset Alliance (OHA), בהובלת Google, שמקורה ב-Android. כיום, חברות רבות – גם חברות שהיו חברות במקור ב-OHA וגם חברות אחרות – השקיעו סכומים גדולים ב-Android. החברות האלה הקציבו משאבים הנדסיים משמעותיים כדי לשפר את Android ולהביא לשוק מכשירים עם Android.

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

כמובן, התאמה אישית לא מבוקרת עלולה להוביל להטמעות לא תואמות. כדי למנוע חוסר תאימות, פרויקט הקוד הפתוח של Android (AOSP) משתמש בתוכנית התאימות של Android, שמפרטת מה המשמעות של תאימות ל-Android ומה נדרש ממפתחי המכשירים כדי להשיג את הסטטוס הזה. כל אחד יכול להשתמש בקוד המקור של Android למטרה כלשהי, ו-Google מקבלת בברכה כל שימוש לגיטימי. עם זאת, כדי להשתתף בסביבה העסקית המשותפת של האפליקציות שחברים ב-OHA מפתחים סביב Android, יצרני המכשירים צריכים להשתתף בתוכנית התאימות ל-Android.

Google היא המובילה של AOSP, והיא אחראית לתחזוקה ולפיתוח של Android. מערכת Android מורכבת מכמה פרויקטים משניים, אבל AOSP היא רק ניהול פרויקטים. Google מתייחסת ל-Android ומנהלת אותו כמוצר תוכנה מקיפה יחיד, ולא כהפצה, מפרט או אוסף של חלקים להחלפה. הכוונה של Google היא שמי שמפתח מכשירי Android יעבירו את Android למכשיר, ולא יטמיעו מפרט או ידאגו להפצה.

מה השלב הבא?

  • אם זו הפעם הראשונה שאתם משתמשים ב-AOSP ואתם רוצים לקרוא מדריך לפיתוח ב-AOSP, תוכלו להיעזר במדריך AOSP.

  • אם לדעתכם המכשיר צריך להיות תואם ל-Android, תוכלו לעיין בתוכנית התאימות ל-Android.

  • כדי לקבל מידע נוסף על הרקע של AOSP, כולל ההשתתפות של Google בפלטפורמה, אפשר לעיין בשאלות נפוצות לגבי AOSP.