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 ל-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 Compliance ואת Target Compliance ל-1.8 בתיבת הדו-שיח Project constructure (לוחצים על File > Project constructure). למידע נוסף, אפשר לקרוא איך משתמשים בתכונות השפה של Java 8.

Android Profiler

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

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

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

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

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

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

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

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

הכלי לניתוח זיכרון

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

מודולים של Android Things

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

מידע נוסף זמין במאמר יצירת פרויקט 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 App Indexing Assistant

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

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

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

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

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

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

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

מאמת מסנן כוונה של כתובת 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 ואילך)
    • ממשק משתמש חדש ליצירת רשתות: בוחרים כמה תצוגות, ואז לוחצים לחיצה ימנית ובוחרים באפשרות רשת.

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

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

הכלי לניתוח APK

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

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

  • בחבילות APK שנוצרו באמצעות ProGuard, אפשר לטעון קובצי מיפוי של ProGuard שמוסיפים יכולות לצופה ב-DEX, כולל:
    • צמתים מודגשים כדי לציין שאסור להסיר את הצמתים כשמקצרים את הקוד.
    • לחצן להצגת צמתים שהוסרו במהלך תהליך הכיווץ.
    • לחצן לשחזור השמות המקוריים של הצמתים בתצוגת העץ, שהוסתרו על ידי 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.
  • שדרגנו את סביבת הפיתוח המשולבת הבסיסית ל-IntelliJ 2017.1.2, עם מספר תכונות חדשות מ-2016.3 ומ-2017.1, כמו רפגורמציה של שפת Java 8, טיפים למשתנים, הדגשה סמנטית, נקודות עצירה שניתן לגרור, תוצאות מיידיות בחיפוש ועוד.
  • נוספו בדיקות איתור שגיאות קוד חדשות רבות.
  • כדאי לבדוק גם את העדכונים האחרונים של Android Emulator.