חדשות על מוצרים

גרסת הבטא הרביעית של Android 17

משך הקריאה: 4 דקות
Daniel Galpin
אחראי/ת קשרי מפתחים (Developers Advocate)

‫Android 17 הגיע לגרסת בטא 4, גרסת הבטא המתוזמנת האחרונה של מחזור הפרסום הזה, שהיא אבן דרך קריטית לתאימות האפליקציות ויציבות הפלטפורמה. גרסה Beta 4 מספקת את הסביבה כמעט סופית שאתם צריכים כדי לבדוק את האפליקציה, בין אם אתם משפרים את חוויית המשתמש באפליקציה, מוודאים שהרינדור מקצה לקצה חלק או משתמשים בממשקי ה-API החדשים ביותר. 

הכנת האפליקציות, הספריות, הכלים ומנועי המשחקים

אם אתם מפתחים Android SDK, ספרייה, כלי או מנוע משחקים, חשוב מאוד שתכינו עכשיו את כל העדכונים הנדרשים כדי למנוע ממפתחי אפליקציות ומשחקים שמשתמשים במוצרים שלכם להיתקל בבעיות תאימות, וכדי לאפשר להם להשתמש בתכונות העדכניות ביותר של ה-SDK. חשוב להודיע למפתחים שמשתמשים במוצרים שלכם אם נדרשים עדכונים כדי לתמוך באופן מלא ב-Android 17.

Android17_Timeline_01_V02.png

הבדיקה כוללת התקנה של אפליקציית הייצור או של אפליקציית בדיקה שמשתמשת בספרייה או במנוע שלכם באמצעות Google Play או אמצעים אחרים במכשיר או באמולטור שמופעלים ב-Android 17 Beta 4. בודקים את כל התהליכים באפליקציה ומחפשים בעיות פונקציונליות או בעיות בממשק המשתמש. כל גרסה של Android כוללת שינויים בפלטפורמה שמשפרים את הפרטיות, האבטחה וחוויית המשתמש הכוללת. כדי להתמקד בבדיקות, כדאי לעיין בשינויים בהתנהגות שמשפיעים על אפליקציות שפועלות ב-Android 17 ועל אפליקציות שמיועדות ל-Android 17, כולל השינויים הבאים:

מגבלות הזיכרון של האפליקציה

מערכת Android מציגה מגבלות על הזיכרון של האפליקציות בהתבסס על זיכרון ה-RAM הכולל של המכשיר כדי ליצור סביבה יציבה ודטרמיניסטית יותר לאפליקציות ולמשתמשי Android. ב-Android 17, המגבלות מוגדרות באופן שמרני כדי ליצור קווי בסיס למערכת, במטרה לזהות דליפות זיכרון קיצוניות וחריגות אחרות לפני שהן גורמות לחוסר יציבות במערכת, שמוביל לגמגום בממשק המשתמש, להתרוקנות הסוללה ולסגירה של אפליקציות. אנחנו צופים שההשפעה על רוב סשני האפליקציות תהיה מינימלית, אבל מומלץ לפעול לפי השיטות המומלצות הבאות לניהול הזיכרון, כולל הגדרת בסיס לזיכרון.

ביישום הנוכחי, getDescription ב- ApplicationExitInfo יכיל את המחרוזת MemoryLimiter אם האפליקציה שלכם הושפעה. אפשר גם להשתמש בפרופילים מבוססי-טריגר עם TRIGGER_TYPE_ANOMALY כדי לקבל קובצי dump של ה-heap שנאספים כשמגיעים למגבלת הזיכרון.

unnamed (2).png
המשימה LeakCanary בכלי הפרופיל של Android Studio

כדי לעזור לכם למצוא דליפות זיכרון, Android Studio Panda מוסיף שילוב של LeakCanary ישירות ב-Android Studio Profiler כמשימה ייעודית, עם הקשר בתוך ה-IDE ושילוב מלא עם קוד המקור.

שימוש מופחת בזיכרון מוביל ישירות לביצועים חלקים יותר, לחיי סוללה ארוכים יותר ולחוויה איכותית בכל סוגי המכשירים. בואו ניצור יחד עתיד מהיר ואמין יותר למערכת האקולוגית של Android!

טריגרים ליצירת פרופילים של חריגות באפליקציות

ב-Android מוצג שירות לזיהוי אנומליות במכשיר, שעוקב אחרי התנהגויות שדורשות הרבה משאבים ואחרי רגרסיות פוטנציאליות בתאימות. השירות הזה משולב עם ProfilingManager, והוא מאפשר לאפליקציה לקבל ארטיפקטים של פרופילים שמופעלים על ידי אירועים ספציפיים שמזוהים על ידי המערכת.

כדי לזהות בעיות בביצועי המערכת, כמו קריאות מוגזמות ל-binder ושימוש מוגזם בזיכרון, אפשר להשתמש בטריגר TRIGGER_TYPE_ANOMALY. כשאפליקציה חורגת ממגבלות הזיכרון שהוגדרו במערכת ההפעלה, טריגר האנומליה מאפשר למפתחים לקבל קובצי dump של ה-heap הספציפיים לאפליקציה, כדי לעזור להם לזהות ולתקן בעיות בזיכרון. בנוסף, במקרה של ספאם מוגזם ב-Binder, טריגר החריגה מספק תמונת מצב של דגימת ערימה בטרנזקציות של Binder.

הקריאה החוזרת (callback) של ה-API הזו מתרחשת לפני כל אכיפה שהמערכת מטילה. לדוגמה, הוא יכול לעזור למפתחים לאסוף נתוני ניפוי באגים לפני שהמערכת מפסיקה את האפליקציה בגלל חריגה ממגבלות הזיכרון. כדי להבין איך להשתמש בהפעלה, אפשר לעיין במסמכי התיעוד שלנו בנושא יצירת פרופילים על סמך הפעלה.

    val profilingManager = applicationContext.getSystemService(ProfilingManager::class.java)
    val triggers = ArrayList<ProfilingTrigger>()  
    triggers.add(ProfilingTrigger.Builder(
                 ProfilingTrigger.TRIGGER_TYPE_ANOMALY))
    val mainExecutor: Executor = Executors.newSingleThreadExecutor()
    val resultCallback = Consumer<ProfilingResult> { profilingResult ->
        if (profilingResult.errorCode != ProfilingResult.ERROR_NONE) {
            // upload profile result to server for further analysis          
            setupProfileUploadWorker(profilingResult.resultFilePath)
        } 
    profilingManager.registerForAllProfilingResults(mainExecutor, resultCallback)
    profilingManager.addProfilingTriggers(triggers)
}

קריפטוגרפיה פוסט-קוונטית (PQC) ב-Android Keystore

נוספה תמיכה ב-Android Keystore ב-ML-DSA (אלגוריתם חתימה דיגיטלית מבוסס-סריג מודול) בתקן NIST. במכשירים נתמכים, אפשר ליצור מפתחות ML-DSA ולהשתמש בהם כדי ליצור חתימות חסינות מפני פיצוח קוונטי, והכול בחומרה המאובטחת של המכשיר. מאגר המפתחות של Android חושף את וריאציות האלגוריתמים ML-DSA-65 ו-ML-DSA-87 דרך ממשקי ה-API של ארכיטקטורת ההצפנה הסטנדרטית של Java: ‏ KeyPairGenerator,‏ KeyFactory ו- Signature. פרטים נוספים מופיעים במסמכי התיעוד למפתחים.

KeyPairGenerator generator = KeyPairGenerator.getInstance(
        ML-DSA-65, "AndroidKeyStore");
generator.initialize(
        new KeyGenParameterSpec.Builder(
                my-key-alias,
                KeyProperties.PURPOSE_SIGN | KeyProperties.PURPOSE_VERIFY)
        .build());
KeyPair keyPair = generator.generateKeyPair();

איך מתחילים להשתמש ב-Android 17

אתם יכולים לרשום כל מכשיר Pixel נתמך כדי לקבל את עדכוני הבטא האלה של Android ועדכונים עתידיים דרך OTA. אם אין לכם מכשיר Pixel, אתם יכולים להשתמש בקובצי אימג' של מערכת 64 ביט עם אמולטור Android ב-Android Studio.

אם אתם משתתפים כרגע בתוכנית Android Beta, תוצע לכם גרסת בטא 4 לעדכון אלחוטי.

אתם מוזמנים להמשיך לדווח על בעיות ולשלוח בקשות לתכונות בדף המשוב. ככל שנקבל את המשוב שלכם מוקדם יותר, כך נוכל לכלול יותר שיפורים בעבודה שלנו על הגרסה הסופית.

כדי ליהנות מחוויית הפיתוח הטובה ביותר עם Android 17, מומלץ להשתמש בגרסת הטרום-השקה (Preview) העדכנית של Android Studio (Panda). אחרי ההגדרה, הנה כמה דברים שכדאי לעשות:

  • קומפילציה מול ה-SDK החדש, בדיקה בסביבות CI ודיווח על בעיות בכלי המעקב שלנו בדף המשוב.
  • כדאי לבדוק את התאימות של האפליקציה הנוכחית, לברר אם השינויים ב-Android 17 משפיעים עליה, להתקין אותה במכשיר או באמולטור עם Android 17 ולהריץ עליה בדיקות מקיפות.

אנחנו נעדכן את תמונות המערכת של גרסאות טרום-השקה/בטא ואת ה-SDK באופן קבוע במהלך מחזור ההפצה של Android 17. אחרי שתתקינו גרסת בטא, תקבלו באופן אוטומטי עדכונים עתידיים דרך האוויר לכל גרסאות הטרום-השקה וגרסאות הבטא הבאות.

מידע מלא זמין באתר למפתחים של Android 17.

הצטרפות לשיחה

המשוב שלכם הוא הנכס הכי חשוב שלנו. אם אתם משתמשים ראשונים בערוץ Canary או מפתחי אפליקציות שבודקים בגרסת Beta 4, כדאי לכם להצטרף לקהילות שלנו ולשלוח משוב. אנחנו מקשיבים.

נכתב על ידי:

להמשך הקריאה