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