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

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

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

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

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

Android Profiler

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

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

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

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

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

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

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

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

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

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

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

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

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

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

כשתהיו מוכנים לבדוק את אפליקציית ה-Instant, תוכלו ליצור ולהריץ את המודול של אפליקציית ה-Instant במכשיר מחובר. לשם כך, צריך לציין את כתובת ה-URL של אפליקציית ה-Instant באפשרויות ההפעלה של הגדרות ההרצה: בוחרים באפשרות הפעלה > עריכת הגדרות, בוחרים את המודול של אפליקציית ה-Instant ומגדירים את כתובת ה-URL בקטע אפשרויות הפעלה.

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

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

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

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

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

  • מוסיפים בדיקות של כתובות URL לכל מיפוי של כתובת URL כדי לוודא שמסנני הכוונה מטפלים בכתובות 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 של המוצר.

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

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

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

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

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