ב-Android נעשה שימוש במספר פרויקטים אחרים של קוד פתוח. רוב הפרויקטים האלה נמצאים ב-WORKING_DIRECTORY/external/
, ואפשר לבצע את השינויים בפרויקטים האלה באמצעות השלבים הבאים:
- נווט אל
WORKING_DIRECTORY/external/upstream-project
. - צפייה בקובץ
METADATA
. בדרך כלל יש בקובץ הזה ערך של כתובת URL שבה אפשר למצוא מידע על תרומה לפרויקט. - אחרי שמבצעים את השינויים בפרויקט במעלה הזרם, צריך להודיע למפתחי Android על הגרסה החדשה במעלה הזרם שכוללת את השינויים.
בהמשך הדף הזה מופיע מידע נוסף על תרומה לפרויקטים ספציפיים של upstream.
Bionic
רוב הקוד של Bionic מגיע מ-BSD, כך שאם השינוי לא מתייחס לקוד חדש ב-Bionic, צריך לבצע תיקון במעלה הזרם ואז למשוך קובץ חדש לגמרי מ-BSD המתאים.
ליבת Android
מבצעים את כל השינויים במעלה הזרם. הנחיות כלליות אפשר למצוא במאמרים איך שולחים תיקונים לליבות משותפות של Android ופיתוח קוד ליבה ל-GKI.
טיפול נמרץ
מבצעים את כל השינויים בפרויקט ICU בכתובת external/icu
(התיקיות icu4c/
ו-icu4j/
) ב-ICU-TC. מידע נוסף זמין במאמר שליחת דיווחים על באגים ובקשות להוספת תכונות ב-ICU.
מוסיפים את התווית android לכל הבקשות ב-Jira שמועברות במעלה הזרם.
CLDR
רוב הנתונים הבלשניים ב-ICU מגיעים מפרויקט Unicode CLDR. שולחים את כל הבקשות לצוות האחראי בהתאם להנחיות בנושא תרומה ל-CLDR ומוסיפים את התווית android.
LLVM/Clang/Compiler-rt
כל השינויים בפרויקטים שקשורים ל-LLVM צריכים להתבצע במקור. מידע נוסף על האופן שבו Google בונה את ערכות הכלים שלנו ממקורות חיצוניים זמין במאמר בנושא ערכת הכלים של Android Clang/LLVM.
mksh
כל השינויים בפרויקט MirBSD Korn Shell מתבצעים בכתובת external/mksh
באמצעות שליחת אימייל אל miros-mksh
בדומיין mirbsd.org
(לא נדרש מינוי כדי לשלוח לשם) או בכתובת Launchpad.