פרויקט הקוד הפתוח של Android (AOSP) זמין באופן ציבורי וניתן לשנות אותו קוד המקור של Android. כל אחד יכול להוריד ולשנות את שירות ה-AOSP במכשיר שלו. AOSP מספק הטמעה מלאה ופונקציונלית של Android לנייד. הפלטפורמה.
יש שתי רמות של תאימות למכשירים שמטמיעים AOSP: AOSP תאימות ל-Android. מכשיר תואם AOSP לעמוד ברשימת הדרישות מסמך הגדרת תאימות (CDD). מכשיר תואם Android חייב לעמוד ברשימת הדרישות ב-CDD ודרישות התוכנה של הספק (VSR) ובדיקות כמו אלה חבילת בדיקה של ספקים (VTS) וגם חבילה לבדיקת תאימות (CTS). לקבלת מידע נוסף מידע על תאימות Android, אפשר לעיין תוכנית התאימות של Android.
ארכיטקטורת AOSP
מחסנית התוכנה של AOSP מכילה את השכבות הבאות:
איור 1. ארכיטקטורת סטאק תוכנות AOSP.
בהמשך מופיעה רשימה של הגדרות למונחים המשמשים באיור 1:
- באפליקציה ל-Android
- אפליקציה שנוצרה אך ורק באמצעות Android API. Google משתמשים רבים משתמשים בחנות Play כדי למצוא ולהוריד אפליקציות ל-Android, אבל יש גם אפליקציות כאלה בהרבה חלופות אחרות. במקרים מסוימים, יצרן המכשיר עשוי לרצות להתקין מראש אפליקציה ל-Android כדי לתמוך בפונקציונליות העיקרית של המכשיר. אם המיקום שאתם מעוניינים לפתח אפליקציות ל-Android, עיינו במאמר developers.android.com.
- אפליקציה מוגבלת
- אפליקציה שנוצרה באמצעות שילוב של ממשקי ה-API של Android ושל המערכת. האפליקציות האלה צריך להתקין אותן מראש במכשיר כאפליקציות עם הרשאות.
- האפליקציה של יצרן המכשיר
- אפליקציה שנוצרה באמצעות שילוב של Android API, System API ו-direct גישה להטמעת ה-framework של Android. כי יצרן המכשיר עשויים לגשת ישירות לממשקי API לא יציבים בתוך המסגרת של Android, האפליקציות האלה מותקנים מראש במכשיר ואפשר לעדכן אותם רק כאשר תוכנת המערכת מעודכנת.
- System API
- ה-System API מייצג ממשקי API של Android שזמינים רק לשותפים ול יצרני ציוד מקורי (OEM) נכללים בחבילה של אפליקציות. ממשקי ה-API האלה מסומנים כ- @SystemApi בקוד המקור.
- ב-API ל-Android
- Android API הוא ה-API שזמין באופן ציבורי לאפליקציית Android של צד שלישי מפתחים. לקבלת מידע על Android API, אפשר לעיין במאמר בנושא הפניית Android API.
- מסגרת Android
- קבוצה של מחלקות Java, ממשקים וקוד אחר שעבר הידור מראש שעליו של אפליקציות גנרטיביות. חלקים מה-framework נגישים לציבור דרך לשימוש ב-Android API. חלקים אחרים במסגרת זמינה רק ליצרני ציוד מקורי באמצעות השימוש בממשקי ה-API של המערכת. במכשירי Android קוד ה-framework פועל בתוך תהליך של אפליקציה.
- שירותי מערכת
- שירותי המערכת הם רכיבים מודולריים וממוקדים כמו
system_server
, SurfaceFlinger ו-MediaService. הפונקציונליות שנחשפת באמצעות Android framework API מתקשר עם שירותי מערכת כדי לגשת לחומרה הבסיסית. - זמן ריצה ב-Android (ART)
- סביבת זמן ריצה של Java שמסופקת על ידי AOSP. ART מבצע את תרגום של הבייטקוד של האפליקציה להוראות ספציפיות למעבד שמופעלות על ידי סביבת זמן הריצה של המכשיר.
- Hardware imtractionLayer (HAL)
- A HAL הוא שכבת הפשטה עם ממשק סטנדרטי לספקי חומרה ליישם. תקן HAL מאפשר ל-Android להיות תלויים מול נהג ברמה נמוכה יותר בפועל. השימוש ב-HAL מאפשר ליישם פונקציונליות שמשפיעים על המערכת ברמה הגבוהה יותר או משנים אותה. לקבלת מידע נוסף, ראו סקירה כללית בנושא HAL.
- ספריות דימונים וספריות מקוריות
הדימונים במקור בשכבה הזו כוללים את
init
, אתhealthd
, אתlogd
ואתstoraged
הדימוןים האלה מקיימים אינטראקציה ישירה עם הליבה או עם ממשקים אחרים ולא תלויות בהטמעת HAL שמבוססת על מרחב משתמשים.ספריות מקוריות בשכבה הזו כוללות את
libc
,liblog
,libutils
,libbinder
ו-libselinux
. ספריות Native האלה נמצאות באינטראקציה ישירה עם הליבה או ממשקים אחרים והם לא תלויים ב-HAL שמבוסס על מרחב המשתמשים יישום בפועל.- ליבה
הליבה היא החלק המרכזי של כל מערכת הפעלה ומתאימה בחומרה הבסיסית של המכשיר. כשהדבר אפשרי, ליבת ה-AOSP מחולקת למודולים שלא תלויים בחומרה ולמודולים ספציפיים לספקים. לתיאור, כולל הגדרות של רכיבי הליבה של AOSP, סקירה כללית של הליבה
מה השלב הבא?
- אם זו הפעם הראשונה שאתם משתמשים ב-AOSP ואתם רוצים להתחיל לעבוד עם כלי הפיתוח, תוכלו לעיין במאמר בנושא תחילת העבודה.
- כדי לקבל מידע נוסף על שכבה ספציפית של AOSP, אפשר ללחוץ על שם בתפריט הניווט הימני ולהתחיל בסקירה הכללית של אותו קטע.