החל מ-27 במרץ 2025, מומלץ להשתמש ב-android-latest-release
במקום ב-aosp-main
כדי ליצור תרומות ל-AOSP. מידע נוסף זמין במאמר שינויים ב-AOSP.
סקירה כללית על AOSP
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
Android היא מערכת הפעלה למגוון רחב של מכשירים בפורמטים שונים. המסמכים וקוד המקור של Android זמינים לכולם כחלק מפרויקט הקוד הפתוח של Android (AOSP). אפשר להשתמש ב-AOSP כדי ליצור גרסאות מותאמות אישית של מערכת ההפעלה Android למכשירים שלכם.
AOSP תוכנן כך שלא תהיה נקודת כשל מרכזית שבה שחקן אחד בתעשייה מגביל או שולט בחידושים של שחקן אחר. לכן, AOSP הוא מוצר פיתוח מלא באיכות ייצור, עם קוד מקור פתוח להתאמה אישית והעברה (porting).
הקטע הזה במסמכי העזרה עוזר למפתחים חדשים ב-AOSP להתחיל לעבוד עם הפלטפורמה ולבצע משימות פיתוח חיוניות.
מונחים נדרשים
בהמשך מופיעה רשימה של מונחים והגדרות שמופיעים במסמכי העזרה בנושא תחילת העבודה. מומלץ לקרוא כל הגדרה לפני שממשיכים.
- מפתחי אפליקציות ל-Android
מפתחי אפליקציות ל-Android כותבים אפליקציות ל-Android או אפליקציות שפועלות ב-Android. יש שתי סיווגים של מפתחי אפליקציות: מפתחי אפליקציות מהדומיין הנוכחי (1p) ומפתחי אפליקציות של צד שלישי (3p).
- מפתח אפליקציה מבית Android
- מפתח אפליקציות ל-Android שיש לו גישה לממשקי System API של AOSP וכותב אפליקציות בעלות הרשאות וגם אפליקציות של יצרני מכשירים.
- מפתחי אפליקציות צד שלישי ל-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_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.
Google היא המובילה של AOSP, והיא אחראית לתחזוקה ולפיתוח של Android. אמנם Android מורכב מכמה פרויקטים משניים, אבל AOSP הוא ניהול פרויקטים בלבד.
Google מתייחסת ל-Android ומנהלת אותו כמוצר תוכנה מקיפה יחיד, ולא כהפצה, מפרט או אוסף של חלקים להחלפה. הכוונה של Google היא שמי שמפתחים מכשירים יעבירו את Android למכשיר, ולא יטמיעו מפרט או ידאגו להפצה.
מה השלב הבא?
אם זו הפעם הראשונה שאתם משתמשים ב-AOSP ואתם רוצים לקרוא מדריך לפיתוח ב-AOSP, תוכלו להיעזר במדריך AOSP.
אם לדעתכם המכשיר צריך להיות תואם ל-Android, תוכלו לעיין בתוכנית התאימות ל-Android.
כדי לקבל מידע על הרקע של AOSP, כולל ההשתתפות של Google בפלטפורמה, אפשר לעיין בשאלות נפוצות בנושא AOSP.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-27 (שעון UTC)."],[],[],null,["# AOSP overview\n\n*Android* is an operating system for a wide array of devices with different\nform factors. The documentation and source code for Android is available to\nanyone as the *Android Open Source Project (AOSP)*. You can use\nAOSP to create custom variants of the Android OS for your own devices.\n\nAOSP is designed so that there's no central point of failure, where one\nindustry player restricts or controls the innovations of another. Therefore,\nAOSP is a full, production-quality developer product with source code open for\ncustomization and porting.\n\nThis section of documentation helps new AOSP developers get started with the\nplatform and to perform essential development tasks.\n\nRequired terms\n--------------\n\nFollowing is a list of terms and definitions used throughout the Getting\nStarted documentation. You should study each definition before continuing\nfurther.\n\n*Android app developer*\n\n: Android app developers writes *Android apps* or applications that run on\n Android. There are two classification of app developers: first-party (1p) and\n third-party (3p) app developers.\n\n *Android first-party app developer*\n : An Android app developer that has access to AOSP System APIs and writes\n privileged and device manufacturer apps.\n\n *Android third-party app developer*\n : An Android app developer who solely uses Android's public SDK to create\n Android apps.\n\nIf you want to develop third-party apps for Android, refer to\n[`developers.android.com`](https://developer.android.com/). The information on\nthis website is solely for those working directly with AOSP.\n\n*Android debug bridge (adb)*\n: A command-line tool (`adb`) that allows your workstation communicate with a\n virtual, software-emulated, or physical device.\n\n*Android-compatible device*\n: A device that can run any third-party app written by third-party developers\n using the Android SDK and NDK. Android-compatible devices must adhere to the\n requirements of the\n [Compatibility Definition Document (CDD)](#cdd) and pass the\n [Compatibility Test Suite (CTS)](#cts). Android-compatible\n devices are eligible to participate in the Android ecosystem which includes\n potential licensure of the Android Play Store, potential licensure the\n [Google Mobile Services (GMS)](#gms) suite of\n applications and APIs, and use of the Android trademark. Anyone is welcome to\n use the Android source code, but to be considered part of the Android ecosystem,\n a device must be Android-compatible. For further information on compatibility\n and CTS, see the\n [Android Compatibility Program overview](/docs/compatibility/overview)\n\n*Compatibility Definition Document (CDD)*\n: A document that enumerates the software and hardware requirements for an\n Android-compatible device.\n\n*Contributor*\n\n: A person who makes contributions to the AOSP source code. Contributors\n can be employees of Google, employees from other companies, and individuals\n with no company affiliation. Every AOSP contributor uses the same tools, follows\n the same code review process, and is subject to the same coding style. You\n don't have to be a contributor to use AOSP; you can download AOSP,\n modify it for your own needs, and deploy it on a device without contributing\n code for others to use.\n\n There are limits to the type of code contributions Google accepts. For example,\n you might want to contribute an alternative application API, such as a full\n C++-based environment. Google would decline that contribution because Android\n encourages applications to be run in the ART runtime. Similarly, Google doesn't\n accept contributions such as GPL or LGPL libraries that are incompatible with\n licensing goals.\n\n If you are interested in contributing source code,\n [contact Google](/docs/setup/community) prior to beginning work.\n\n*Compatibility Test Suite (CTS)*\n\n: A free, commercial-grade test suite, available for download as a binary or as\n source in AOSP. The CTS is a set of unit tests designed to be integrated into\n your daily workflow. CTS's intent is to reveal incompatibilities, and ensure\n that the software remains compatible throughout the development process.\n\n*Cuttlefish*\n\n: A configurable virtual Android-powered device that can run remotely, using\n third-party cloud offerings, such as Google Cloud Engine, and locally on Linux\n x86 machines.\n\n*Developer*\n\n: In the context of AOSP, a developer is anyone who works with AOSP in any\n way. The term \"developer\" is used to generically refer to the various people who\n might read this documentation, such as original equipment manufacturers\n (OEMs), handset makers, carriers, and System-on-a-Chip (SoC) creators.\n\n*Google Mobile Services (GMS)*\n\n: A collection of Google apps and APIs that can be pre-installed on devices.\n\n*Target*\n\n: A permutation of a device, such as a specific model or form factor. For\n example, `aosp_cf_x86_64_only_phone-userdebug` represents a x86 65MB phone with\n debugging information that is designed to run on the cuttlefish emulator.\n\nGovernance philosophy\n---------------------\n\nA group of companies known as the Open Handset Alliance (OHA), led by Google,\noriginated Android. Today, many companies---both original members of the OHA and\nothers---have invested heavily in Android. These companies have allocated\nsignificant engineering resources to improve Android and bring Android devices\nto market.\n\nThe companies that have invested in Android have done so because they believe an\nopen platform is necessary. Android is intentionally and explicitly an open\nsource effort (as opposed to free software); a group of organizations with\nshared needs has pooled resources to collaborate on a single implementation of a\nshared product. First and foremost, the Android philosophy is pragmatic. The\nobjective is a shared product that each contributor can tailor and customize.\n\nOf course, uncontrolled customization can lead to incompatible implementations.\nTo prevent incompatibility, the Android Open Source Project (AOSP) maintains\nthe\n[Android Compatibility program](/docs/compatibility/overview),\nwhich spells out what it means to be Android-compatible and what's required of\ndevice builders to achieve that status. Anyone can use the Android source code\nfor any purpose, and Google welcomes all legitimate uses. However, to take part\nin the shared ecosystem of applications OHA members are building around Android,\ndevice builders must participate in the Android Compatibility program.\n\nAOSP is led by Google, who maintains and further develops Android. Although\nAndroid consists of multiple subprojects, AOSP is strictly project management.\nGoogle views and manage Android as a single, holistic software product, not a\ndistribution, specification, or collection of replaceable parts. Google's intent\nis that device builders port Android to a device; they don't implement a\nspecification or curate a distribution.\n\nWhat's next?\n------------\n\n- If you're new to AOSP and want to run through a tutorial on AOSP\n development, proceed with [AOSP tutorial](/docs/setup/start).\n\n- If you believe that your device needs to be Android-compatible, refer to the\n [Android Compatibility program](/docs/compatibility/overview).\n\n- If you want to learn about the background of AOSP, including Google's\n participation in the platform, see\n [AOSP frequently asked questions](/docs/setup/about/faqs)."]]