היום אנחנו משיקים את גרסת הבטא השנייה של Android 17, וממשיכים בעבודה שלנו לבניית פלטפורמה ששמה דגש על פרטיות, אבטחה וביצועים משופרים. העדכון הזה כולל מגוון יכולות חדשות, כולל EyeDropper API וכלי לבחירת אנשי קשר ששומר על הפרטיות. בנוסף, אנחנו מוסיפים ממשקי API מתקדמים לטווח, להעברה בין מכשירים ועוד.
הגרסה הזו ממשיכה את השינוי בקצב ההשקות שלנו. אחרי ההשקה השנתית של גרסת SDK ראשית ברבעון השני, תהיה השקה של עדכון SDK משני.
חוויית משתמש וממשק משתמש של המערכת
בועות
התכונה 'בועות' היא מצב חלונות שמציע חוויית משתמש חדשה וצפה, והיא נפרדת מ-API של בועות הודעות. המשתמשים יכולים ליצור בועת אפליקציה בטלפון, במכשיר מתקפל או בטאבלט על ידי לחיצה ארוכה על סמל האפליקציה במרכז האפליקציות. במסכים גדולים, יש סרגל בועות כחלק מסרגל האפליקציות, שבו המשתמשים יכולים לארגן בועות, לעבור ביניהן ולהעביר אותן לנקודות מעוגנות במסך ומנקודות מעוגנות במסך.
כדי לוודא שהאפליקציות פועלות בצורה תקינה כבועות, צריך לפעול בהתאם להנחיות לתמיכה במצב ריבוי חלונות.
הבועות עדיין לא מופעלות באופן מלא בגרסה 2 של הבטא. הם יופיעו בגרסת build עתידית של Android 17.
EyeDropper API
API חדש של טפטפת ברמת המערכת מאפשר לאפליקציה לבקש צבע מכל פיקסל בתצוגה בלי לדרוש הרשאות רגישות לצילום מסך.
val eyeDropperLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
result -> if (result.resultCode == Activity.RESULT_OK) {
val color = result.data?.getIntExtra(Intent.EXTRA_COLOR, Color.BLACK)
// Use the picked color in your app
}
}
fun launchColorPicker() {
val intent = Intent(Intent.ACTION_OPEN_EYE_DROPPER)
eyeDropperLauncher.launch(intent)
}הכלי לבחירת אנשי קשר
כלי חדש לבחירת אנשי קשר ברמת המערכת באמצעות ACTION_PICK_CONTACTS מעניק גישת קריאה זמנית שמבוססת על סשן רק לשדות הנתונים הספציפיים שהמשתמש ביקש, וכך מצטמצם הצורך בהרשאות READ_CONTACTS הרחבות. היא מאפשרת גם לבחור מתוך הפרופילים האישיים או פרופילי העבודה במכשיר.
val contactPicker = rememberLauncherForActivityResult(StartActivityForResult()) {
if (it.resultCode == RESULT_OK) {
val uri = it.data?.data ?: return@rememberLauncherForActivityResult
// Handle result logic
processContactPickerResults(uri)
}
}
val dataFields = arrayListOf(Email.CONTENT_ITEM_TYPE, Phone.CONTENT_ITEM_TYPE)
val intent = Intent(ACTION_PICK_CONTACTS).apply {
putStringArrayListExtra(EXTRA_PICK_CONTACTS_REQUESTED_DATA_FIELDS, dataFields)
putExtra(EXTRA_ALLOW_MULTIPLE, true)
putExtra(EXTRA_PICK_CONTACTS_SELECTION_LIMIT, 5)
}
contactPicker.launch(intent)תאימות פשוטה יותר של לכידת הסמן עם משטחי מגע
בעבר, כשמצביעים על אפליקציה באמצעות משטח מגע, האירועים שדווחו היו שונים מאוד מאלה שדווחו באמצעות עכבר. המערכת דיווחה על מיקומי האצבעות על משטח המגע ולא על התנועות היחסיות שדווחו באמצעות עכבר. הדבר הקשה מאוד על התמיכה התקינה בלוחות מגע במשחקים בגוף ראשון. מעכשיו, כברירת מחדל, המערכת תזהה תנועות של מצביע ומחוות גלילה כשהמשטח הרגיש למגע נלכד, ותדווח עליהן כמו על אירועי עכבר. עדיין אפשר לבקש את נתוני המיקום המפורטים של האצבעות על ידי בקשה מפורשת ללכידה במצב ה'מוחלט' החדש.
// To request the new default relative mode (mouse-like events) // This is the same as requesting with View.POINTER_CAPTURE_MODE_RELATIVE view.requestPointerCapture() // To request the legacy absolute mode (raw touch coordinates) view.requestPointerCapture(View.POINTER_CAPTURE_MODE_ABSOLUTE)
גבולות המנוחה של הכלי האינטראקטיבי לבחירת תמונות
באמצעות קריאה ל-getInitialRestingBounds ב-ChooserSession של Android, האפליקציה יכולה לזהות את מיקום היעד של הכלי לבחירת אפליקציה אחרי שהאנימציות וטעינת הנתונים מסתיימות, וכך לשפר את ההתאמות של ממשק המשתמש.
קישוריות ושימוש במכשירים שונים
העברת אפליקציות בין מכשירים
Handoff API חדש מאפשר לכם לציין את מצב האפליקציה כדי להמשיך את השימוש בה במכשיר אחר, כמו טאבלט Android. אם המשתמשים מפעילים את התכונה, המערכת מסנכרנת את המצב באמצעות CompanionDeviceManager ומציגה הצעה להעברה ב-Launcher של המכשירים הסמוכים של המשתמש. התכונה הזו נועדה לאפשר המשכיות חלקה של משימות, כך שהמשתמשים יוכלו להמשיך בדיוק מהמקום שבו הפסיקו את תהליך העבודה שלהם בסביבה העסקית של Android. חשוב לציין שהתכונה 'העברה' תומכת גם במעברים מאפליקציית נייטיב לאפליקציית נייטיב וגם במעברים מאפליקציה לאתר, ומספקת גמישות מקסימלית וחוויה מלאה גם אם אפליקציית הנייטיב לא מותקנת במכשיר המקבל.
ממשקי API מתקדמים לחישוב מרחקים
אנחנו מוסיפים תמיכה בשתי טכנולוגיות חדשות למדידת מרחק –
- UWB DL-TDOA שמאפשר לאפליקציות להשתמש ב-UWB לניווט בתוך מבנים. ממשק ה-API הזה תואם למפרט FIRA (Fine Ranging Consortium) 4.0 DL-TDOA ומאפשר ניווט בתוך מבנים תוך שמירה על הפרטיות (הימנעות ממעקב אחרי המכשיר על ידי נקודת העיגון).
- זיהוי קירבה שמאפשר לאפליקציות להשתמש במפרט החדש של טווח המרחק שאומץ על ידי WFA (WiFi Alliance). הטכנולוגיה הזו מספקת מהימנות ודיוק משופרים בהשוואה למפרט הטווח הקיים שמבוסס על Wi-Fi Aware.
שיפורים בחבילות הגלישה
כדי לבצע אופטימיזציה של איכות המדיה, האפליקציה יכולה עכשיו לאחזר את קצבי הנתונים המקסימליים שהוקצו על ידי הספק לאפליקציות סטרימינג באמצעות getStreamingAppMaxDownlinkKbps ו-getStreamingAppMaxUplinkKbps.
פונקציונליות ליבה, פרטיות וביצועים
גישה לרשת המקומית
ב-Android 17 נוספה הרשאת זמן הריצה ACCESS_LOCAL_NETWORK כדי להגן על המשתמשים מפני גישה לא מורשית לרשת המקומית. ההרשאה הזו נכללת בקבוצת ההרשאות הקיימת NEARBY_DEVICES, ולכן משתמשים שכבר העניקו הרשאות אחרות NEARBY_DEVICES לא יתבקשו להעניק אותה שוב. ההצהרה על ההרשאה הזו והבקשה שלה מאפשרות לאפליקציה לגלות מכשירים ברשת המקומית (LAN) ולהתחבר אליהם, כמו מכשירים לבית חכם או מקלטי Cast. כך אפליקציות זדוניות לא יכולות לנצל גישה בלתי מוגבלת לרשת המקומית כדי לעקוב אחרי משתמשים ולזהות אותם בצורה חשאית. אפליקציות שמיועדות ל-Android מגרסה 17 ואילך יכולות עכשיו לשמור על תקשורת עם מכשירי LAN בשתי דרכים: להשתמש בכלי מערכת לבחירת מכשירים ששומרים על הפרטיות כדי לדלג על בקשת ההרשאה, או לבקש במפורש את ההרשאה החדשה הזו בזמן הריצה כדי לשמור על תקשורת ברשת המקומית.
שידור של שינוי בהסטה מאזור הזמן
מערכת Android מספקת עכשיו כוונת שידור מהימנה, ACTION_TIMEZONE_OFFSET_CHANGED, שמופעלת כששינוי מתרחש בהיסט של אזור הזמן של המערכת, למשל במהלך מעבר לשעון קיץ. השינוי הזה משלים את כוונות השידור הקיימות ACTION_TIME_CHANGED ו-ACTION_TIMEZONE_CHANGED, שמופעלות כשחותמת הזמן של מערכת Unix משתנה וכשמזהה אזור הזמן משתנה, בהתאמה.
ניהול ותעדוף של NPU
אפליקציות שמטרגטות ל-Android 17 וצריכות לגשת ישירות ל-NPU צריכות להצהיר על FEATURE_NEURAL_PROCESSING_UNIT במניפסט שלהן כדי למנוע חסימה של הגישה ל-NPU. השאלה מתייחסת גם לאפליקציות שמשתמשות ב-LiteRT NPU delegate, בערכות SDK ספציפיות לספקים וגם ב-NNAPI שהוצא משימוש.
תמיכה ב-ICU 78 וב-Unicode 17
ספריות הליבה של הבינאום עודכנו ל-ICU 78, והתמיכה בסקריפטים, בתווים ובבלוקים של אמוג'י חדשים הורחבה. בנוסף, אפשר לעצב ישירות אובייקטים של זמן.
הגנה על OTP ב-SMS
מערכת Android מרחיבה את ההגנה על קודי OTP ב-SMS על ידי עיכוב אוטומטי של הגישה להודעות SMS עם קודי OTP. בעבר, ההגנה התמקדה בעיקר בפורמט של SMS Retriever, שבו מסירת הודעות שמכילות גיבוב של SMS Retriever מתעכבת למשך שלוש שעות ברוב האפליקציות. עם זאת, אפליקציות מסוימות כמו אפליקציית ה-SMS שמוגדרת כברירת מחדל וכו', והאפליקציה שמתאימה לגיבוב, פטורות מההשהיה הזו. העדכון הזה מרחיב את ההגנה לכל הודעות ה-SMS עם OTP. ברוב האפליקציות, אפשר לגשת להודעות SMS שמכילות קוד אימות רק אחרי שלוש שעות, כדי למנוע חטיפת קוד אימות. השידור SMS_RECEIVED_ACTION ייעצר והשאילתות במסד הנתונים של ספק ה-SMS יסוננו. הודעת ה-SMS תהיה זמינה לאפליקציות האלה אחרי העיכוב.
גישה מושהית להודעות SMS בפורמט WebOTP
אם לאפליקציה יש הרשאה לקרוא הודעות SMS אבל היא לא הנמען המיועד של ה-OTP (כפי שנקבע באימות הדומיין), אפשר יהיה לגשת להודעת ה-SMS בפורמט WebOTP רק אחרי שלוש שעות. השינוי הזה נועד לשפר את אבטחת המשתמשים. הוא מבטיח שרק אפליקציות שמשויכות לדומיין שמוזכר בהודעה יוכלו לקרוא את קוד האימות באופן פרוגרמטי. השינוי הזה חל על כל האפליקציות, ללא קשר לרמת ה-API המיועדת שלהן.
גישה מושהית להודעות SMS רגילות עם קוד אימות
ברוב האפליקציות, אם הודעת ה-SMS עם הסיסמה החד-פעמית לא נשלחה בפורמט WebOTP או SMS Retriever, אפשר לגשת אליה רק אחרי שלוש שעות. השינוי הזה חל רק על אפליקציות שמטרגטות Android 17 (רמת API 37) ומעלה.
אפליקציות מסוימות, כמו אפליקציית ה-SMS שמוגדרת כברירת מחדל, אפליקציית העוזר הדיגיטלי ואפליקציות נלוות למכשירים מחוברים, פטורות מההשהיה הזו.
כל האפליקציות שמסתמכות על קריאת הודעות SMS כדי לחלץ קודים חד-פעמיים צריכות לעבור לשימוש בממשקי ה-API SMS Retriever או SMS User Consent כדי להבטיח המשך פעולה.
לוח הזמנים של Android 17
אנחנו מתכוונים לעבור במהירות מגרסת הבטא הזו לאבן הדרך של יציבות הפלטפורמה, שאמורה להתרחש במרץ. בשלב הזה, נספק ממשקי API סופיים של SDK/NDK. מנקודת הזמן הזו ואילך, תוכלו לטרגט את SDK 37 ולפרסם את האפליקציה ב-Google Play כדי להשלים את הבדיקות ולאסוף משוב משתמשים בחודשים שלפני הזמינות הכללית של Android 17.
שנה של השקות
אנחנו מתכננים להמשיך לעדכן את Android 17 בסדרת גרסאות רבעוניות. הגרסה הקרובה ברבעון השני היא היחידה שבה אנחנו מציגים שינויים מתוכננים בהתנהגות האפליקציה, שיכולים לגרום לבעיות. אנחנו מתכננים להשיק גרסה משנית של ה-SDK ברבעון הרביעי עם ממשקי API ותכונות נוספים.
תחילת העבודה עם Android 17
אתם יכולים להירשם עם כל מכשיר Pixel נתמך כדי לקבל את העדכון הזה ועדכוני בטא עתידיים של Android דרך OTA. אם אין לכם מכשיר Pixel, אתם יכולים להשתמש בקובצי אימג' של מערכת 64 ביט עם Android Emulator ב-Android Studio.
אם אתם משתתפים כרגע בתוכנית Android Beta, תוצע לכם אפשרות לעדכן את המכשיר לגרסת בטא 2 באמצעות עדכון אלחוטי (OTA).
אם יש לכם Android 26Q1 Beta ואתם רוצים לקבל את הגרסה היציבה הסופית של 26Q1 ולצאת מתוכנית הבטא, אתם צריכים להתעלם מעדכון ה-OTA ל-26Q2 Beta 2 ולהמתין להשקת 26Q1.
נשמח לקבל מכם משוב. אתם יכולים לדווח על בעיות ולשלוח בקשות לתכונות בדף המשוב. ככל שנקבל את המשוב מוקדם יותר, כך נוכל לכלול אותו בעבודה שלנו על הגרסה הסופית.
כדי ליהנות מחוויית הפיתוח הטובה ביותר עם Android 17, מומלץ להשתמש בגרסת הטרום-השקה (Preview) העדכנית של Android Studio (Panda). אחרי ההגדרה, כדאי לבצע את הפעולות הבאות:
- קומפילציה מול ה-SDK החדש, בדיקה בסביבות CI ודיווח על בעיות בכלי המעקב שלנו בדף המשוב.
- בודקים את התאימות של האפליקציה הנוכחית, בודקים אם האפליקציה מושפעת משינויים ב-Android 17, מתקינים את האפליקציה במכשיר או באמולטור עם Android 17 ומבצעים בדיקות מקיפות.
אנחנו נעדכן את תמונות המערכת של גרסת הבטא או התצוגה המקדימה ואת ה-SDK באופן קבוע במהלך מחזור הפרסום של Android 17. אחרי שמתקינים גרסת בטא, מקבלים באופן אוטומטי עדכונים עתידיים
באמצעות עדכון אוטומטי לכל הגרסאות המוקדמות והגרסאות בטא שיוצאות בהמשך.
מידע מלא זמין באתר למפתחים של Android 17.
הצטרף לשיחה
אנחנו מתקדמים לקראת יציבות הפלטפורמה והזמינות לכלל המשתמשים (GA) של Android 17 בהמשך השנה, והמשוב שלכם ממשיך להיות הנכס הכי חשוב שלנו. אם אתם משתמשים ראשונים בערוץ Canary או מפתחי אפליקציות שבודקים בגרסה Beta 2, כדאי להצטרף לקהילות שלנו ולשלוח משוב. אנחנו מקשיבים.
-
חדשות על מוצריםהיום אנחנו משיקים את קבוצת המשימות הראשונה לטווח ארוך (LHT), שהן משימות מורכבות מאוד שמהנדס צריך להקדיש להן כמה ימים או אפילו שבוע כדי להשלים אותן. בנוסף, אנחנו משיקים הערכת תפקוד הסוכנים, ומתחילים עם סוכנים מספקי מודלים תואמים.
Matthew McCullough • משך הקריאה: 3 דקות -
חדשות על מוצריםהיום אנחנו משיקים את Android 17 ומפרסמים אותו ברוב מכשירי Pixel הנתמכים. בחודשים הקרובים יושקו מכשירים חדשים עם Android 17.
Matthew McCullough • משך הקריאה: 13 דקות -
חדשות על מוצריםב-Google I/O 2026, נציג 17 הכרזות חשובות למפתחי Android, שמתמקדות בפרודוקטיביות מבוססת-סוכנים, ב-Compose First כסטנדרט של ממשק המשתמש, ובמדיה עם ביצועים גבוהים ופיתוח אדפטיבי למערכת האקולוגית המתרחבת.
Matthew McCullough • משך הקריאה: 8 דקות
רוצים לקבל טיפים עדכניים לפיתוח Android ישירות לאימייל כל שבוע?