Android Studio 3.0 (אוקטובר 2017)

Android Studio 3.0.0 היא גרסה מרכזית שכוללת מגוון תכונות ושיפורים חדשים.

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

3.0.1 (נובמבר 2017)

זהו עדכון קטן ל-Android Studio 3.0 שכולל תיקוני באגים כלליים ושיפורי ביצועים.

פלאגין Android ל-Gradle 3.0.0

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

  • זמני הגדרה מהירים יותר של גרסאות build, בזכות פתרון מושהה חדש של יחסי תלות.
  • פתרון יחסי תלות תוך התחשבות בגרסת הווריאנט רק לפרויקטים ולגרסאות הווריאנט שאתם מפתחים.
  • זמני build מצטברים מהירים יותר כשמחילים שינויים פשוטים בקוד או במשאבים.

הערה: השיפורים האלה דרשו שינויים משמעותיים שגורמים לשיבושים בחלק מההתנהגויות, ממשקי ה-API וה-DSL של הפלאגין. שדרוג לגרסה 3.0.0 עשוי לחייב שינויים בקובצי ה-build וביישומי הפלאגין של Gradle.

הגרסה הזו כוללת גם את הפריטים הבאים:

  • תמיכה ב-Android 8.0.
  • תמיכה ביצירת חבילות APK נפרדות על סמך משאבי שפה.
  • תמיכה בספריות Java 8 ובתכונות השפה של Java 8 (ללא המהדר Jack).
  • תמיכה ב-Android Test Support Library 1.0‏ (Android Test Utility ו-Android Test Orchestrator).
  • מהירויות build משופרות של ndk-build ו-cmake.
  • מהירות סנכרון משופרת של Gradle.
  • AAPT2 מופעל עכשיו כברירת מחדל.
  • השימוש ב-ndkCompile מוגבל עכשיו יותר. במקום זאת, צריך לעבור להשתמש ב-CMake או ב-ndk-build כדי לקמפל קוד מקומי שרוצים לארוז ב-APK. מידע נוסף זמין במאמר מעבר מ-ndkcompile.

מידע נוסף על השינויים זמין בנתוני הגרסה של Android Plugin for Gradle.

אם אתם מוכנים לשדרג לפלאגין החדש, תוכלו לעיין במאמר מעבר לפלאגין Android ל-Gradle 3.0.0.

תמיכה ב-Kotlin

כפי שהודענו ב-Google I/O 2017, שפת התכנות Kotlin נתמכת עכשיו באופן רשמי ב-Android. לכן, בגרסה הזו, Android Studio כולל תמיכה בשפת Kotlin לפיתוח של Android.

כדי לשלב את Kotlin בפרויקט, אפשר להמיר קובץ Java לקובץ Kotlin (לוחצים על Code > Convert Java File to Kotlin File) או ליצור פרויקט חדש שתומך ב-Kotlin באמצעות האשף New Project.

כדי להתחיל, כדאי לקרוא איך מוסיפים Kotlin לפרויקט.

תמיכה בתכונות השפה של Java 8

עכשיו אפשר להשתמש בתכונות מסוימות של שפת Java 8 ולצרוך ספריות שנוצרו באמצעות Java 8. לא צריך יותר את Jack, וצריך קודם להשבית את Jack כדי להשתמש בתמיכה המשופרת ב-Java 8 שמובנית בכלי הפיתוח שמוגדרים כברירת מחדל.

כדי לעדכן את הפרויקט כך שיתמוך בכלי השרשרת החדשים של שפת Java 8, צריך לעדכן את Source Compatibility ו-Target Compatibility ל-1.8 בתיבת הדו-שיח Project Structure (לוחצים על File > Project Structure). למידע נוסף, אפשר לקרוא איך משתמשים בתכונות השפה של Java 8.

הכלי לניתוח ביצועי Android

כלי Android Profiler החדש מחליף את הכלי Android Monitor ומספק חבילת כלים חדשה למדידת השימוש של האפליקציה במעבד (CPU), בזיכרון וברשת בזמן אמת. אפשר לבצע מעקב אחר שיטות שמבוסס על דגימות כדי למדוד את זמן הביצוע של הקוד, לתעד דיווחים על יצירת גרפים של אשכול, להציג הקצאות זיכרון ולבדוק את הפרטים של קבצים שהועברו ברשת.

כדי לפתוח את הדפדפן, לוחצים על View > Tool Windows > Android Profiler (או על Android Profiler בסרגל הכלים).

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

הערה: גם התצוגה של Logcat הועברה לחלון נפרד (בעבר היא הייתה בתוך Android Monitor, שהוסרה).

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

כלי לניתוח ביצועי ה-CPU

ניתוח מעבד (CPU Profiler) עוזר לכם לנתח את השימוש של האפליקציה בשרשור המעבד (CPU) על ידי הפעלת מעקב אחר מעבד (CPU) לדגימה או למכשיר. לאחר מכן תוכלו לפתור בעיות בביצועים של המעבד באמצעות מגוון תצוגות נתונים ומסננים.

מידע נוסף מופיע במדריך בנושא הכלי לניתוח ביצועי ה-CPU.

כלי לניתוח ביצועי הזיכרון

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

מידע נוסף זמין במדריך של הכלי לניתוח ביצועי הזיכרון.

הכלי לניתוח הרשת

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

מידע נוסף זמין במדריך ל-Network Profiler.

יצירת פרופילים וניפוי באגים של קובצי APK

עכשיו אפשר להשתמש ב-Android Studio כדי ליצור פרופיל ולפתור באגים בכל קובץ APK בלי לבנות אותו מפרויקט ב-Android Studio – כל עוד קובץ ה-APK נוצר כך שמאפשר ניפוי באגים ויש לכם גישה לסמלי ניפוי הבאגים ולקובצי המקור.

כדי להתחיל, לוחצים על Profile or debug APK במסך הפתיחה של Android Studio. לחלופין, אם כבר יש פרויקט פתוח, לוחצים על קובץ > פרופיל או APK לניפוי באגים בסרגל התפריטים. הכלי מציג את קובצי ה-APK הלא מוצפנים, אבל לא מבצע דקומפיליקציה של הקוד. לכן, כדי להוסיף נקודות עצירה ולראות את מעקב הסטאק, צריך לצרף קובצי מקור של Java וסמלי ניפוי באגים מקומיים.

למידע נוסף, ראו יצירת פרופילים וניפוי באגים ב-APK שנוצר מראש.

סייר הקבצים במכשיר

'אקספלורר הקבצים של המכשיר' החדש מאפשר לבדוק את מערכת הקבצים של המכשיר המחובר ולהעביר קבצים בין המכשיר למחשב. הוא מחליף את הכלי של מערכת הקבצים שזמין ב-DDMS.

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

מידע נוסף זמין במדריך של 'אקספלורר הקבצים של המכשיר'.

תמיכה באפליקציות ללא התקנה

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

ב-Android Studio יש גם פעולה חדשה של ריפרקטורינג מודולרי שתעזור לכם להוסיף תמיכה ב-Instant Apps לפרויקט קיים. לדוגמה, אם רוצים לבצע רפקטורינג של הפרויקט כדי למקם חלק מהכיתות במודול של תכונה של אפליקציה מיידית, בוחרים את הכיתות בחלון Project ולוחצים על Refactor > Modularize. בתיבת הדו-שיח שמופיעה, בוחרים את המודול שאליו רוצים להעביר את הכיתות ולוחצים על OK.

כשרוצים לבדוק את האפליקציה ללא התקנה, אפשר ליצור ולהפעיל את המודול של האפליקציה ללא התקנה במכשיר מחובר. לשם כך, מציינים את כתובת ה-URL של האפליקציה ללא התקנה באפשרויות להפעלת ההגדרות האישיות: בוחרים באפשרות Run > Edit Configurations (הפעלה > עריכת ההגדרות האישיות), בוחרים את המודול של האפליקציה ללא התקנה ואז מגדירים את כתובת ה-URL בקטע Launch options.

מידע נוסף זמין במאמר אפליקציות ללא התקנה ל-Android.

מודולים של Android Things

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

למידע נוסף, ניתן לקרוא על יצירת פרויקט של Android Things.

אשף הסמלים המותאמים

Image Asset Studio תומך עכשיו בקובצי drawable וקובצי וקטור ומאפשר ליצור סמלי מרכז אפליקציות מותאמים ל-Android 8.0, תוך יצירת סמלים מסורתיים (סמלי 'דור קודם') למכשירים ישנים יותר.

כדי להתחיל, לוחצים לחיצה ימנית על התיקייה res בפרויקט ואז לוחצים על New > Image Asset. בחלון Asset Studio, בוחרים באפשרות Launcher Icons (Adaptive and Legacy) (סמלי מרכז האפליקציות (אדפטיביים וקודמים)) בתור סוג הסמל.

הערה: צריך להגדיר את compileSdkVersion ל-26 ומעלה כדי להשתמש בסמלים של מרכז האפליקציות המותאם.

מידע נוסף זמין במאמר סמלים מותאמים.

תמיכה במשאבי גופנים

כדי לתמוך במשאבי הגופנים החדשים ב-Android 8.0, ב-Android Studio יש בורר משאבי גופנים שעוזר לקבץ גופנים באפליקציה או להגדיר את הפרויקט כך שיוריד את הגופנים למכשיר (כשהאפשרות הזו זמינה). אפשר להשתמש בעורך הפריסה גם להציג תצוגה מקדימה של הגופנים בפריסה.

כדי לנסות גופנים שניתן להורדה, צריך לוודא שבמכשיר או במהדמה פועלת הגרסה 11.2.63 ואילך של Google Play Services. מידע נוסף זמין במאמר גופנים שניתן להוריד.

כלי להוספת אפליקציות לאינדקס ב-Firebase

Assistant של Firebase עודכן במדריך חדש לבדיקת הוספת אפליקציות לאינדקס. כדי לפתוח את Assistant, בוחרים באפשרות Tools (כלים) > Firebase. לאחר מכן בוחרים הוספת אפליקציות לאינדקס > בדיקת הוספת אפליקציות לאינדקס.

המדריך כולל לחצנים חדשים לבדיקת ההוספה לאינדקס של תוכן ציבורי ופרטי:

  • בשלב 2, לוחצים על תצוגה מקדימה של תוצאות החיפוש כדי לוודא שכתובות ה-URL מופיעות בתוצאות החיפוש ב-Google.
  • בשלב 3, לוחצים על בדיקת שגיאות כדי לוודא שהאובייקטים באפליקציה שניתנים להוספה לאינדקס נוספו לאינדקס התוכן האישי.

הכלי 'Assistant לקישורים לאפליקציות' עודכן עם היכולות החדשות הבאות:

  • מוסיפים בדיקות של כתובות URL לכל מיפוי של כתובת URL כדי לוודא שמסנני הכוונה מטפלים בכתובות URL בעולם האמיתי.

    אפשר גם להגדיר את הבדיקות האלה של כתובות URL באופן ידני באמצעות התג <tools:validation> שמתואר בהמשך.

  • יוצרים קובץ Digital Asset Links עם רשומת האובייקט המתאימה, כדי לתמוך ב-Google Smart Lock, ומוסיפים את התג asset_statements <meta-data> התואם לקובץ המניפסט.

כלי לאימות מסנן Intent בכתובות URL

עכשיו יש ב-Android Studio תמיכה בתג מיוחד בקובץ המניפסט שמאפשר לבדוק את כתובות ה-URL של מסנני הכוונה. אלו אותם תגים שהכלי App Links Assistant יכול ליצור בשבילכם.

כדי להצהיר על כתובת URL לבדיקה של מסנן Intent, מוסיפים את הרכיב <tools:validation> לצד הרכיב <intent-filter> התואם. לדוגמה:

      <activity ...>
          <intent-filter>
              ...
          </intent-filter>
          <tools:validation testUrl="https://www.example.com/recipe/1138" />
      </activity>
    
    

חשוב לכלול גם את xmlns:tools="http://schemas.android.com/tools" בתג <manifest>.

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

כלי לעריכת פריסות

עדכנו את Layout Editor עם כמה שיפורים, כולל:

  • פריסה וסמלים חדשים של סרגל הכלים.
  • פריסה מעודכנת בעץ הרכיבים.
  • שיפור בהוספת תצוגות באמצעות גרירה ושחרור.
  • חלונית שגיאות חדשה מתחת לכלי העריכה, שבה מוצגות כל הבעיות עם הצעות לתיקון (אם הן זמינות).
  • שיפורים שונים בממשק המשתמש ליצירת אפליקציות באמצעות ConstraintLayout, כולל:
    • תמיכה חדשה ליצירת מחסומים.
    • תמיכה חדשה ביצירת קבוצות: בסרגל הכלים, בוחרים באפשרות Guidelines (הנחיות) > Add Group (הוספת קבוצה) (נדרשת גרסה ConstraintLayout 1.1.0 beta 2 ואילך)
    • ממשק משתמש חדש ליצירת שרשראות: בוחרים כמה תצוגות, לוחצים לחיצה ימנית ובוחרים באפשרות Chain.

כלי לבדיקת פריסות

כלי לבדיקת הפריסה כולל שיפורים שיעזרו לכם לנפות באגים בפריסות של האפליקציות, כולל קיבוץ נכסים לקטגוריות נפוצות ופונקציית חיפוש חדשה בחלוניות View Tree ו-Properties.

הכלי לניתוח APK

עכשיו אפשר להשתמש בכלי לניתוח APK משורת הפקודה באמצעות הכלי apkanalyzer.

גם הכלי לניתוח APK עודכן עם השיפורים הבאים:

  • בחבילות APK שפותחו עם ProGuard, אפשר לטעון קובצי מיפוי של ProGuard שמוסיפים יכולות למציג ה-DEX, כולל:
    • צמתים מודגשים כדי לציין שאסור להסיר את הצמתים כשמקצרים את הקוד.
    • לחצן להצגת צמתים שהוסרו במהלך תהליך הצמצום.
    • לחצן שמשחזר את השמות המקוריים של הצמתים בתצוגת העץ שעברו ערפול קוד (obfuscation) של ProGuard.
  • עכשיו מוצגת ב-DEX Viewer ההשפעה המשוערת של כל חבילת, שיטה וסוג על הגודל.
  • אפשרויות סינון חדשות בחלק העליון כדי להציג ולהסתיר שדות ושיטות.
  • בתצוגת העץ, צמתים שהם הפניות שלא מוגדרות בקובץ ה-DEX מופיעים בכתב נטוי.

מידע נוסף זמין במאמר ניתוח הגרסה היציבה באמצעות APK Analyzer.

תצוגה מקדימה של D8 DEX compiler

Android Studio 3.0 כולל קומפילטור DEX חדש אופציונלי שנקרא D8. בסופו של דבר הוא יחליף את המהדר DX, אבל כבר עכשיו אפשר להביע הסכמה לשימוש במהדר D8 החדש.

הידור DEX משפיע ישירות על זמן ה-build של האפליקציה, על גודל הקובץ .dex ועל הביצועים בסביבת זמן הריצה. בהשוואה למהדר D8 החדש למהדר DX הנוכחי, D8 מקמפל מהר יותר ומייצר קבצים .dex קטנים יותר, תוך שמירה על ביצועים זהים או טובים יותר בסביבת זמן הריצה של האפליקציה.

כדי לנסות, צריך להגדיר את הפקודה הבאה בקובץ gradle.properties של הפרויקט:

android.enableD8=true
    

מידע נוסף מופיע בפוסט בבלוג על מהדר D8.

מאגר Maven של Google

Android Studio משתמש עכשיו במאגר Maven של Google כברירת מחדל, במקום להסתמך על Android SDK Manager כדי לקבל עדכונים ל-Android Support Library, ל-Google Play Services, ל-Firebase וליחסי תלות אחרים. כך קל יותר לעדכן את הספריות, במיוחד כשמשתמשים במערכת אינטגרציה רציפה (CI).

כל הפרויקטים החדשים כוללים עכשיו את מאגר Google Maven כברירת מחדל. כדי לעדכן את הפרויקט הקיים, מוסיפים את google() בבלוק repositories בקובץ build.gradle ברמה העליונה:

      allprojects {
          repositories {
              google()
          }
      }
    
    

מידע נוסף על מאגר Maven של Google

שינויים נוספים

  • ניפוי באגים מקומי ב-Android Studio כבר לא תומך ב-Windows בגרסת 32-ביט. בחרנו להתמקד בפלטפורמות אחרות כי מעט מאוד מפתחים משתמשים בפלטפורמה הזו. אם אתם משתמשים ב-Windows 32-bit ואתם מתכננים לנפות באגים בקוד מקורי, כדאי להמשיך להשתמש ב-Android Studio 2.3.
  • שדרגנו את סביבת הפיתוח המשולבת (IDE) בסיסית ל-IntelliJ 2017.1.2, שנוספה מספר תכונות חדשות מ-2016.3 ומ-2017.1, כמו ארגון מחדש של שפות Java 8, רמזים לפרמטרים, הדגשה סמנטית, נקודות עצירה לגרירה, תוצאות מיידיות בחיפוש ועוד הרבה יותר.
  • נוספו בדיקות איתור שגיאות קוד חדשות רבות.
  • כדאי לבדוק גם את העדכונים האחרונים של Android Emulator.