Android היא מערכת הפעלה למגוון רחב של מכשירים עם גורמי צורה שונים. התיעוד וקוד המקור של Android זמינים לכולם כפרויקט קוד פתוח של Android (AOSP). אתם יכולים להשתמש ב-AOSP כדי ליצור גרסאות מותאמות אישית של מערכת ההפעלה Android למכשירים שלכם.
מערכת AOSP מתוכננת כך שלא יהיה בה נקודת כשל מרכזית, שבה גורם אחד בתעשייה מגביל או שולט בחידושים של גורם אחר. לכן, AOSP הוא מוצר פיתוח מלא ואיכותי עם קוד מקור פתוח שניתן להתאמה אישית ולהעברה.
הקטע הזה בתיעוד עוזר למפתחים חדשים ב-AOSP להתחיל להשתמש בפלטפורמה ולבצע משימות פיתוח חיוניות.
תנאים נדרשים
בהמשך מופיעה רשימה של מונחים והגדרות שמופיעים במאמרי ההתחלה. מומלץ לעיין בכל הגדרה לפני שממשיכים.
- מפתחי אפליקציות ל-Android
מפתחי אפליקציות ל-Android כותבים אפליקציות ל-Android או אפליקציות שפועלות ב-Android. יש שני סוגים של מפתחי אפליקציות: מפתחי אפליקציות מהדומיין הנוכחי (1p) ומפתחי אפליקציות צד שלישי (3p).
- מפתח אפליקציות צד ראשון ל-Android
- מפתחי אפליקציות ל-Android שיש להם גישה לממשקי AOSP System API וכותבים אפליקציות עם הרשאות ואפליקציות של יצרני מכשירים.
- מפתח אפליקציות ל-Android של צד שלישי
- מפתח אפליקציות ל-Android שמשתמש רק ב-SDK הציבורי של Android כדי ליצור אפליקציות ל-Android.
אם רוצים לפתח אפליקציות צד שלישי ל-Android, אפשר לעיין במאמר בנושא developer.android.com
. המידע באתר הזה מיועד רק לאנשים שעובדים ישירות עם AOSP.
- ממשק הגישור של Android (ADB)
- כלי שורת פקודה (
adb
) שמאפשר לתחנת העבודה לתקשר עם מכשיר וירטואלי, מכשיר שמדמה תוכנה או מכשיר פיזי. - מכשיר שתואם ל-Android
- מכשיר שיכול להריץ כל אפליקציה של צד שלישי שנכתבה על ידי מפתחים של צד שלישי באמצעות Android SDK ו-NDK. מכשירים שתואמים ל-Android צריכים לעמוד בדרישות של מסמך הגדרת התאימות (CDD) ולעבור את חבילת הבדיקות לתאימות (CTS). מכשירים שתואמים ל-Android עומדים בדרישות להשתתפות במערכת האקולוגית של Android, שכוללת רישוי פוטנציאלי של חנות Google Play, רישוי פוטנציאלי של חבילת האפליקציות וממשקי ה-API של Google Mobile Services (GMS) ושימוש בסימן המסחרי של 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 היא לחשוף חוסר תאימות ולוודא שהתוכנה תישאר תואמת לאורך תהליך הפיתוח.
- Cuttlefish
מכשיר וירטואלי מבוסס-Android שאפשר להפעיל מרחוק באמצעות פתרונות ענן של צד שלישי, כמו Google Cloud Engine, וגם באופן מקומי במכונות Linux x86.
- מפתח
במסגרת AOSP, מפתח הוא כל מי שעובד עם AOSP בכל דרך שהיא. המונח 'מפתח' משמש כאן באופן כללי להתייחסות לאנשים שונים שעשויים לקרוא את התיעוד הזה, כמו יצרני ציוד מקורי (OEM), יצרני מכשירים ניידים, ספקי תקשורת ויוצרי מערכת על שבב (SoC).
- Google Mobile Services (GMS)
אוסף של אפליקציות וממשקי API של Google שאפשר להתקין מראש במכשירים.
- Target
פרמוטציה של מכשיר, כמו דגם ספציפי או גורם צורה. לדוגמה,
aosp_cf_x86_64_only_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.
AOSP מנוהל על ידי Google, שמתוחזק ומפותח עוד יותר על ידי Android. למרות ש-Android מורכב מכמה פרויקטים משניים, AOSP הוא ניהול פרויקטים בלבד. Google רואה ומנהלת את Android כמוצר תוכנה יחיד והוליסטי, ולא כהפצה, כמפרט או כאוסף של חלקים שניתנים להחלפה. הכוונה של Google היא שיוצרי מכשירים יבצעו העברה של Android למכשיר, ולא יישמו מפרט או ינהלו הפצה.
מה השלב הבא?
אם אתם חדשים ב-AOSP ורוצים לעבור על מדריך לפיתוח ב-AOSP, אפשר להמשיך אל המדריך ל-AOSP.
אם לדעתכם המכשיר שלכם צריך להיות תואם ל-Android, כדאי לעיין בתוכנית התאימות של Android.
אם אתם רוצים לקרוא על הרקע של AOSP, כולל ההשתתפות של Google בפלטפורמה, תוכלו לעיין בשאלות הנפוצות בנושא AOSP.