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

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

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

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

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

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

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

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

מפַתח אפליקציות ל-Android מאינטראקציה ישירה
מפתח אפליקציות ל-Android שיש לו גישה לממשקי API של מערכת AOSP וכותב אפליקציות בעלות הרשאות ואפליקציות של יצרן המכשיר.
מפַתח אפליקציות של צד שלישי ל-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 עם מידע על ניפוי באגים שנועד לרוץ באמולטור הדיונון.

פילוסופיה של פיקוח

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

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

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

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

מה השלב הבא?