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, תוכלו לעיין במאמר developers.android.com
. המידע באתר הזה מיועד רק למי שעובד ישירות עם AOSP.
- ממשק הגישור של Android (adb)
- כלי שורת פקודה (
adb
) שמאפשר לתחנת העבודה לתקשר עם מכשיר וירטואלי, מכשיר שמבוסס על אמולציה של תוכנה או מכשיר פיזי. - מכשיר תואם ל-Android
- מכשיר שיכול להריץ כל אפליקציה של צד שלישי שנכתבה על ידי מפתחים של צד שלישי באמצעות Android SDK ו-NDK. מכשירי Android תואמים חייבים לעמוד בדרישות של מסמך הגדרת התאימות (CDD) ולעבור את חבילה לבדיקות תאימות (CTS). מכשירי Android תואמים עומדים בדרישות להשתתפות בסביבה העסקית של Android, שכוללת רישוי פוטנציאלי של חנות Android 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 היא לחשוף אי-תאימות ולוודא שהתוכנה תישאר תואמת לאורך כל תהליך הפיתוח.
- דיונון
מכשיר וירטואלי מבוסס-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.