‫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 בפרויקטים עם מספר גדול של מודולים. כשמשתמשים בתוסף החדש עם פרויקטים גדולים כאלה, אמורים ליהנות מהיתרונות הבאים:

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

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

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

  • תמיכה ב-Android 8.0.
  • תמיכה ביצירת קובצי APK נפרדים על סמך משאבי שפה.
  • תמיכה בספריות Java 8 ובתכונות של שפת Java 8 (ללא מהדר Jack).
  • תמיכה בספריית התמיכה בבדיקות Android בגרסה 1.0 (כלי בדיקה ל-Android ותזמור בדיקות ל-Android).
  • שיפור מהירויות ה-build של ndk-build ו-cmake.
  • שיפור מהירות הסנכרון של Gradle.
  • הכלי AAPT2 מופעל עכשיו כברירת מחדל.
  • השימוש ב-ndkCompile מוגבל יותר עכשיו. במקום זאת, צריך לעבור אל באמצעות CMake או ndk-build כדי לקמפל קוד Native שרוצים לארוז ב-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 snapshot), לראות את הקצאות הזיכרון ולבדוק את הפרטים של קבצים שמועברים ברשת.

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

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

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

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

CPU Profiler

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

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

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

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

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

Network Profiler

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

הכלי לניתוח APK

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

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

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

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

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

‫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, ל-Google Play Services, ל-Firebase ולתלויות אחרות. כך קל יותר לעדכן את הספריות, במיוחד כשמשתמשים במערכת שילוב רציף (CI).

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

      allprojects {
          repositories {
              google()
          }
      }
    
    

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

שינויים אחרים

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