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

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

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

3.0.1 (נובמבר 2017)

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

‫Android Plugin for Gradle 3.0.0

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

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

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

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

  • תמיכה ב-Android 8.0.
  • תמיכה ביצירת קובצי APK נפרדים על סמך משאבי שפה.
  • תמיכה בספריות Java 8 ובתכונות של שפת Java 8 (ללא מהדר Jack).
  • תמיכה בספריית התמיכה של Android Test‏ 1.0 (כלי הבדיקה של Android ותזמור בדיקות ל-Android).
  • שיפרנו את מהירויות הבנייה של 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 Compatibility ו-Target Compatibility ל-1.8 בתיבת הדו-שיח Project Structure (לוחצים על File > Project Structure). למידע נוסף, אפשר לקרוא על השימוש בתכונות של שפת Java 8.

Android Profiler

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

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

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

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

בציר הזמן של סקירת Android Profiler, לוחצים על ציר הזמן CPU,‏ MEMORY או NETWORK כדי לגשת לכלי הפרופיל המתאים.

CPU Profiler

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

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

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

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

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

Network Profiler

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

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

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

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

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

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

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

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

כדי לפתוח, לוחצים על View > Tool Windows > Device File Explorer (תצוגה > חלונות כלים > סייר הקבצים של המכשיר).

מידע נוסף זמין במדריך ל-Device File Explorer.

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

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

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

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

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

מודולים של Android Things

תבניות חדשות של Android Things באשפי New Project (פרויקט חדש) ו-New Module (מודול חדש) שיעזרו לכם להתחיל לפתח למכשירי IoT מבוססי Android.

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

אשף הסמלים הדינמיים

‫Image Asset Studio תומך עכשיו בנכסי תמונות מסוג וקטור ומאפשר ליצור סמלי אפליקציות דינמיים ל-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

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

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

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

הכלי App Links Assistant עודכן עם היכולות החדשות הבאות:

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

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

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

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

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

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

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

כלי פריסת הדפים עודכן עם מספר שיפורים, כולל:

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

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

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

הכלי לניתוח APK

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

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

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

מידע נוסף זמין במאמר ניתוח של ה-Build באמצעות הכלי APK Analyzer.

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

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

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

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

android.enableD8=true
    

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

מאגר Maven של Google

מעכשיו, Android Studio משתמש כברירת מחדל ב-Maven Repository של Google, במקום להסתמך על Android SDK Manager כדי לקבל עדכונים לספריית התמיכה של Android, ל-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, רמזים לפרמטרים, הדגשה סמנטית, נקודות עצירה שניתן לגרור, תוצאות מיידיות בחיפוש ועוד.
  • נוספו הרבה בדיקות חדשות של Lint.
  • אפשר גם לעיין בעדכונים האחרונים של Android Emulator.