החל משנת 2026, כדי להתאים את התהליך למודל הפיתוח היציב שלנו ולשמור על יציבות הפלטפורמה בסביבה העסקית, נפרסם קוד מקור ב-AOSP ברבעון השני וברבעון הרביעי. כדי ליצור תוספים ל-AOSP ולתרום לו, מומלץ להשתמש ב-android-latest-release במקום ב-aosp-main. ענף המניפסט android-latest-release תמיד יפנה לגרסה העדכנית ביותר שנדחפה ל-AOSP. מידע נוסף זמין במאמר שינויים ב-AOSP.
חומרי חיטוי
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
הכלי לניקוי קוד הוא קבוצה של כלי ניתוח דינמיים שמאתרים שגיאות בתוכניות בזמן הריצה באמצעות מכשירי מדידה נוספים שהמְקַמֵל הוסיף. זה כולל זיהוי בעיות של בטיחות זיכרון. מערכת Android תומכת בחיטוי הנתונים הבאים וממליצה מאוד להשתמש בהם:
AddressSanitizer (HWASan) בסיוע חומרה
HWASan הוא הכלי העיקרי לזיהוי בעיות של בטיחות בזיכרון. היא דורשת ARM64 ויכולה לזהות:
זליגה או מחסור ב-buffer של סטאק ושל אשכול
שימוש בערימה (heap) אחרי 'free'
שימוש ב-Stack אחרי היקף
שימוש ב-stack אחרי החזרה
Double free או wild free
מנקה כתובות (ASan)
ASan הוא כלי שדומה ל-HWASan. הוא פועל בפלטפורמות נוספות, אבל אין תמיכה בו ב-Android.
KernelAddress sanitizer (KASan)
KASan הוא המקבילה בליבה לכלים של מרחב המשתמש שצוינו למעלה. הוא משתמש באותה הטמעה של המהדר. KASan ו-ASan/HWASan הם משלימים, כי הכלי אחד חל על הליבה והכלי השני על מרחב המשתמש.
מומלץ להפעיל את שניהם בו-זמנית כדי לצמצם את מספר הגדרות ה-build ולצמצם את מטריצת הבדיקות.
UndefinedBehavior sanitizer (UBSan)
UBSan מבצע כלי למדידת ביצועים בזמן הידור כדי לבדוק סוגים שונים של התנהגות לא מוגדרת (לא בטוחה לזיכרון). הבדיקה הזו כוללת בדיקה של זליגת נתונים (overflow) במספרים שלמים עם סימן ובלי סימן (IntSan), בדיקות גבולות למערכים בגודל סטטי (BoundsSan) והרבה סוגים אחרים של התנהגות לא מוגדרת. אפשר להפעיל את IntSan ו-BoundsSan גם בסביבת הייצור כפעולת מיטיגציה לאבטחה.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. 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)."],[],[]]