Android Studio 3.1 (מרץ 2018)
Android Studio 3.1.0 היא גרסה ראשית שכוללת מגוון של ותכונות ושיפורים.
3.1.4 (אוגוסט 2018)
העדכון הזה ב-Android Studio 3.1 כולל את השינויים והתיקונים הבאים:
- חבילת Kotlin עם חבילה היא עכשיו 1.2.50.
-
פרויקטים חדשים נוצרים עם
kotlin-stdlib-jdk* artifacts
, במקום באמצעותkotlin-stdlib-jre*
פריטי מידע שנוצרו בתהליך הפיתוח (Artifact), הוצא משימוש. - שיפרנו את הניתוח של כללי ProGuard ב-R8.
- הבאגים הבאים תוקנו:
-
הניסיון להפעיל את המחלקה הראשית של Kotlin נכשל עם שגיאה:
"Error: Could not find or load main class..."
- R8 נכנס ללולאה אינסופית במהלך ביצוע אופטימיזציות מסוימות.
- כשמשתמשים בפקודה Rerun failed tests בחלון Run, לפעמים מופיעה ההודעה "No tests were found" (לא נמצאו בדיקות) בטעות.
-
D8 לא טיפל בצורה נכונה ב-
invoke-virtual
מכונות, גורמת לקריסה עםVerifyError
:invoke-super/virtual can't be used on private method
-
המהדר של Data Binding היה תלוי בגרסה הישנה של
com.android.tools:annotations
עכשיו המהדר משתמש הערות של כלים מהפרויקט הבסיסי כשיהיו זמינות. - Android Studio קרס במהלך העברת מקטעים במהלך השימוש של פרופילי אנשים.
- הכלי לניפוי באגים קרס במהלך ניפוי באגים בפריסה באמצעות תיבת טקסט.
- D8 לא הצליח לקרוא קובצי ZIP מסוימים עם תווים מיוחדים.
3.1.3 (יוני 2018)
העדכון הזה ל-Android Studio 3.1 כולל תיקונים לבאגים הבאים:
- דליפות זיכרון גרמו ל-Android Studio לפעול באיטיות ולא להגיב אחרי השימוש בכלי לעיצוב. העדכון הזה כולל תיקונים לרוב הבעיות האלה. אנחנו מתכננים להשיק עדכון נוסף בקרוב כדי לטפל בבעיות נוספות של זליגת זיכרון.
- אפליקציות מסוימות שפותחו באמצעות D8 קרסו בחלק מהטאבלטים של Verizon Ellipsis.
-
התקנת אפליקציות שפותחו באמצעות D8 נכשלה עם
שגיאה אחת (
INSTALL_FAILED_DEXOPT
) במכשירים עם Android 5.0 או 5.1 (רמת API 21 או 22). - חלק מהאפליקציות שהשתמשו בספריית OkHttp ונבנה באמצעות D8 קרסה במכשירים שמותקנת בהם גרסת Android 4.4 (רמת API 19).
-
לפעמים ההפעלה של Android Studio נכשלה, עם
ProcessCanceledException
במהלך אתחול הכיתה עבורcom.intellij.psi.jsp.JspElementType
.
3.1.2 (אפריל 2018)
העדכון הזה ל-Android Studio 3.1 כולל תיקונים לבאגים הבאים:
- במקרים מסוימים, מערכת Android Studio נתקעת ללא הגבלת זמן במהלך היציאה.
-
גרסאות build שהוגדרו באמצעות קבוצות מקורות נכשל עם ההודעה הבאה כאשר 'הפעלה מיידית' הופעלה:
"The SourceSet name is not recognized by the Android Gradle Plugin."
- כשהתכונה Instant Run הייתה מופעלת, גרסאות build של פרויקטים חדשים ב-Kotlin נכשלו כשהופעלו על ידי הפקודה Run.
-
במהלך העריכה של הקובץ
build.gradle
, לפעמים היה עיכוב ניכר בין הקלדה של תו לבין הופעתו של התו במסך. -
בחלק מהפרויקטים עם פרויקטים גדולים, אירעו כשלים בבנייה במהלך הסרת המשאבים מספרי מודולים או יחסי תלות חיצוניים, עם השגיאה הבאה message:
"RejectedExecutionException: Thread limit exceeded replacing blocked worker"
- החישוב של רשימת ה-DEX הראשית D8 לא הביא בחשבון הפעלות חוזרות.
העדכון הזה כולל גם שינויים שמאפשרים להריץ בדיקות איתור שגיאות בקוד (lint) מ-Gradle מהר יותר בהרבה בתרחישים מסוימים.
3.1.1 (אפריל 2018)
העדכון הזה ל-Android Studio 3.1 כולל תיקונים לבאגים הבאים:
-
במקרים מסוימים, כשפרויקט שנוצר ב-Android Studio 3.0 נפתח בפעם הראשונה ב-Android Studio 3.1, המשימה Make שתומכת ב-Gradle הוסרה מהאזור Before launch בקטע Run/Debug Configurations. כתוצאה מכך, הפרויקטים לא נוצרו כשלוחצים על הלחצן Run או על הלחצן Debug, וכתוצאה מכך נגרמו כשלים כמו פריסה של קובצי APK שגויים וקריסות בזמן השימוש ב-Instant Run.
כדי לפתור את הבעיה, ב-Android Studio 3.1.1 נוספת המשימה Make שתומכת ב-Gradle לתצורת ההרצה של פרויקטים שבהם הרשומה הזו חסרה. השינוי הזה יתרחש אחרי הסנכרון הראשון של Gradle כשהפרויקט נטען.
- הכלי לניפוי באגים קרס במהלך ניפוי באגים בפריסה באמצעות תיבת טקסט, אם מדובר במצב מתקדם הפרופיילינג הופעל.
- Android Studio קפא אחרי שלחצתם על Build Variants.
- קובצי AAR (ארכיון Android) חולצו פעמיים, פעם אחת במהלך Gradle בסנכרון ופעם אחת גם בתהליך ה-build של Gradle.
- רכיבים חסרים בחלק מפריטי וקטורים שניתנים להזזה שיובאו מקובצי SVG.
-
האזהרה לגבי ההוצאה משימוש של
compile
עודכנה הגדרת יחסי התלות עם הנחיות טובות יותר לגבי ההגדרות שלimplementation
ו-api
. למידע נוסף על המעבר מהשימוש בהגדרות שלcompile
, אפשר לעיין במסמכי העזרה לגבי הגדרות התלות החדשות.
תכנות/IDE
IntelliJ 2017.3.3
סביבת הפיתוח המשולבת (IDE) של Android Studio עודכנה ועכשיו היא כוללת שיפורים מ-IntelliJ IDEA בגרסה משנת 2017.3.3. השיפורים כוללים תהליך בקרה טוב יותר ניתוח נתונים של אוספים ומחרוזות, שיפור יכולת ההסקה של יכולת null, לתיקונים ועוד הרבה יותר.
לפרטים נוספים, אפשר לעיין במסמכי הערות המוצר של JetBrains לגרסאות IntelliJ IDEA 2017.2 ו-2017.3, וגם במסמכי הערות המוצר של JetBrains לגבי עדכוני תיקון באגים.
שיפורים בעריכת SQL בעזרת חדר
כשמשתמשים ב ספריית מסד הנתונים של Room, אפשר לנצל את היתרונות של עריכת SQL:
- השלמת קוד בתוך
Query
מבין טבלאות (ישויות), עמודות, פרמטרים של שאילתה, כינויים שאילתות איחוד (join), שאילתות משנה וסעיפים WITH (עם). - עכשיו אפשר להדגיש תחביר של SQL.
- אפשר ללחוץ לחיצה ימנית על שם טבלה ב-SQL ולשנות את השם שלה. הפעולה הזו גם כותבת מחדש את הקוד התואם ב-Java או ב-Kotlin (כולל, למשל, את סוג ההחזרה של השאילתה). שינוי השם פועל גם בכיוון ההפוך, כך ששינוי השם של שדה או כיתה ב-Java יגרום לכתיבת מחדש של קוד ה-SQL התואם.
- שימושים ב-SQL מוצגים כשמשתמשים באפשרות Find usages (לוחצים לחיצה ימנית ובוחרים באפשרות Find usages בתפריט ההקשר).
- כדי לעבור להצהרה של ישות SQL בקוד Java או Kotlin, אפשר להחזיק את המקש Control (פקודה Command ב-Mac) בזמן הלחיצה על הישות.
מידע נוסף על שימוש ב-SQL עם Room זמין במאמר שמירה של נתונים במסד נתונים מקומי באמצעות Room.
עדכונים בנתונים קישור
העדכון הזה כולל כמה שיפורים בקישור נתונים:
-
עכשיו אפשר להשתמש באובייקט
LiveData
בתור שדה שניתן לצפות בו בביטויים של קישור נתונים. הכיתהViewDataBinding
כוללת עכשיו שיטה חדשה בשםsetLifecycle()
, שבעזרתה אפשר לצפות באובייקטים מסוגLiveData
. -
עכשיו אפשר להעביר אובייקטים אחרים מסוג
Observable
לתוך המבנה של הכיתהObservableField
. -
אפשר לראות תצוגה מקדימה של מהדר מצטבר חדש לקישור הנתונים הסוגים. לפרטים על המהדר החדש והוראות הפעלה אפשר לראות Data Binding Compiler V2.
היתרונות של המהדר החדש כוללים את אלה:
-
ViewBinding
כיתות נוצרות על ידי Android פלאגין ל-Gradle לפני מהדר (compiler) Java. - הספריות שומרות את סיווגי הקישור שנוצרו על ידי האפליקציה כשהאפליקציה במקום ליצור אותם מחדש בכל פעם. מי יכול משפרות משמעותית את הביצועים בפרויקטים עם מודולים מרובים.
-
מהדר וגרידל
D8 הוא ה-DEX ברירת המחדל מהדר
מהדר D8 משמש עכשיו כברירת מחדל ליצירת בייטקוד DEX.
המהדר החדש הזה של DEX מגיע עם כמה יתרונות, הבאים:
- הסרת שיטות עבודה מהירה יותר
- שימוש נמוך יותר בזיכרון
- יצירת קוד משופרת (הקצאת רישום טובה יותר, טבלאות מחרוזות חכמות יותר)
- חוויית ניפוי באגים טובה יותר כשעוברים בין הקוד
אתם לא צריכים לבצע שינויים בקוד או בפיתוח תהליך עבודה כדי לקבל את היתרונות האלה, אלא אם בעבר עשיתם זאת באופן ידני השבית את מהדר D8.
אם מגדירים את android.enableD8
לערך false
ב
gradle.properties
, צריך למחוק את הדגל או להגדיר אותו בתור
true
:
android.enableD8=true
פרטים נוספים זמינים במאמר מ compilador DEX חדש.
הסרה של סוכר תחבירי באופן מצטבר
לפרויקטים שמשתמשים בהם תכונות השפה Java 8, הפחתה הדרגתית של הסוכר מופעלת כברירת מחדל, וכך אפשר לשפר את ה-build פעמים.
הסרת סוכרים מהמרות סוכר תחבירי לצורה שהמהדר יכול לעבד בצורה יעילה יותר.
כדי להשבית את הסרת הסוכר המצטברת, מציינים את הערך הבא בקובץ gradle.properties
של הפרויקט:
android.enableIncrementalDesugaring=false
חלון פלט פשוט יותר
מסוף Gradle הוחלף בחלון Build, שכולל את הכרטיסיות Sync ו-Build.
במאמר מעקב אחרי תהליך ה-build מוסבר איך משתמשים בחלון Build החדש והפשוט.
עדכונים והוספה לאינדקס בכמות גדולה בו-זמניות
תהליכי הסנכרון של Gradle והוספת הקבצים לאינדקס של IDE יעילים הרבה יותר עכשיו, ומפחיתים את הזמן שאתם מבזבזים על פעולות רבות ומיותרות של הוספה לאינדקס.
C++ ו-LLDB
ביצענו שיפורים רבים באיכות ובביצועים בתכנות, בסנכרון שלבי פיתוח וניפוי באגים בפיתוח C++. השיפורים כוללים הבאים:
-
אם אתם עובדים עם פרויקטים גדולים של C++, אתם אמורים לראות שיפור משמעותי לצמצם את הזמן שהשקעתם ביצירת סמלים. גם זמן הסנכרון הוא משמעותי הם מצומצמים לפרויקטים גדולים.
-
הביצועים במהלך בנייה וסנכרון עם CMake השתפרו באמצעות שימוש חוזר אגרסיבי יותר בתוצאות שנשמרו במטמון.
-
הוספת פורמטרים ('pretty printers') למבנים נוספים של נתוני C++ מאפשרת לקרוא בקלות רבה יותר את הפלט של LLDB.
-
LLDB פועל עכשיו רק עם Android 4.1 (רמת API 16) גבוהה יותר.
הערה: ניפוי באגים מקומי באמצעות Android Studio בגרסה 3.0 ואילך לא פועל ב-Windows 32 ביט. אם אתם משתמשים ב-Windows בגרסת 32 סיביות לנפות באגים בקוד הנייטיב, צריך להשתמש ב-Android Studio 2.3.
Kotlin
אפליקציית Kotlin שודרגה לגרסה 1.2.30
Android Studio 3.1 כולל קוטלין גרסה 1.2.30.
עכשיו מתבצע ניתוח של קוד Kotlin באמצעות בדיקת שגיאות בקוד בשורת הפקודה
הרצת איתור שגיאות בקוד של שורת הפקודה מנתחת עכשיו את המחלקות שלכם ב-Kotlin.
לכל פרויקט שאתם רוצים להריץ עליו איתור שגיאות בקוד,
ה-Maven של Google
המאגר חייב להיות כלול ב-build.gradle
ברמה העליונה
חדש. המאגר של Maven כבר כלול בפרויקטים שנוצרו ב-
Android Studio 3.0 ואילך.
כלים לשיפור הביצועים
דוגמה לתהליכים מקומיים של C++ באמצעות הכלי לניתוח ביצועי ה-CPU
כלי לניתוחי מעבדים כולל עכשיו הגדרת ברירת מחדל לתיעוד של מעקבים לדוגמה של השרשור המקורי של האפליקציה. כדי להשתמש בהגדרות האלה אפשר לפרוס את האפליקציה מכשיר שמותקנת בו מערכת Android בגרסה 8.0 (רמת API 26) ואילך ולאחר מכן בוחר נדגם (Native) מההקלטה של ה-CPU Profiler התפריט הנפתח 'הגדרות אישיות'. לאחר מכן, להקליט וגם בודקים מעקב כרגיל.
ניתן לשנות את הגדרות ברירת המחדל, כמו מרווח הדגימה, על ידי יצירת תצורת ההקלטה.
כדי לחזור למעקב אחר שרשורי Java, בוחרים באחת מהאפשרויות דגימות (Java) או אינסטרומנטלי (Java) הגדרה אישית.
סינון של מעקבי מעבד (CPU), זיכרון תוצאות הקצאה ועותקים של תמונת מצב של הזיכרון
הכלי CPU Profiler הכללה של הכלי לפרופיל הזיכרון תכונת חיפוש שמאפשרת לסנן תוצאות מהקלטת שיטה מעקב, הקצאות זיכרון או תמונת מצב של הזיכרון.

כדי לחפש, לוחצים על סינון בפינה השמאלית העליונה של החלונית, מקלידים את השאילתה ומקישים על Enter.
טיפ: אפשר לפתוח את שדה החיפוש גם על ידי הקשה על Control + F (Command + F ב-Mac).
בכרטיסייה Flame Chart (תרשים אש) של הכלי לניתוח מעבדים, סטאקים של קריאות שכוללים שיטות שקשורות לשאילתת החיפוש שלכם מודגשים ומוזזים לצד ימין של התרשים.
מידע נוסף על סינון לפי שם שיטה, כיתה או חבילת קוד זמין במאמר תיעוד ובדיקה של נתיבי קריאה ל-method.
הכרטיסייה 'בקשה' בכלי לניתוחי רשת
הכלי Network Profiler כולל עכשיו כרטיסיית בקשה שמספקת פרטים על הרשת בקשות שנשלחו במהלך ציר הזמן שנבחר. בגרסאות קודמות, הכלי לניתוח הרשת סיפק מידע רק על תגובות מהרשת.
תצוגת Thread בכלי לניתוח הרשת
אחרי שבוחרים קטע בציר הזמן בכלי לניתוחי רשתות, אפשר לבחור באחת מהכרטיסיות הבאות כדי לראות פרטים נוספים על פעילות הרשת במסגרת הזמן הזו:
- Connection View (תצוגת חיבור): מספקת את אותו מידע כמו הגרסאות הקודמות של Android Studio - רשימה של קבצים שנשלחו או התקבלו במהלך חלק נבחר של ציר הזמן בכל ה-threads של המעבד (CPU) של האפליקציה שלך. לכל בקשה אפשר לבדוק את הגודל, הסוג, הסטטוס ומשך ההעברה.
- תצוגת שרשור: מציגה את הפעילות ברשת של כל אחד משרשורי המעבד (CPU) של האפליקציה. התצוגה הזו מאפשרת לכם לבדוק אילו מהשרשורים של האפליקציה אחראים לכל בקשה לרשת.

הכלי לבדיקת פריסות
נוספו לסוקר הפריסה כולל פונקציונליות מסוימת שסופקו בעבר על ידי הכלים 'מציג היררכיה' ו-Pixel Perfect:
- לחצני זום ומקשי קיצור לניווט ובדיקה של פריסות
- שכבת-על של רשת הפניה
- אפשרות לטעון תמונה להפניה ולהשתמש בה כשכבת-על (שימושית להשוואה בין הפריסה לבין טיוטה של ממשק המשתמש)
- עיבוד תצוגה מקדימה של עץ משנה כדי לבודד תצוגה בפריסה מורכבת

כלי לעריכת פריסות
לוח הצבעים בכלי לעריכת פריסות עבר שיפורים רבים:
- ארגון מחדש של קטגוריות בתצוגות ובפריסות.
- קטגוריה חדשה בשם משותף לתצוגות ולפריסות, שאפשר להוסיף אליה באמצעות הפקודה מועדף.
- שיפור חיפוש צפיות ו-פריסות.
- פקודות חדשות עבור פתיחה תיעוד של תצוגה או רכיב פריסה ספציפיים.
אפשר להשתמש בתצוגה המפורטת החדשה של דף ההמרה בעץ הרכיבים או בעורך העיצוב כדי להמיר תצוגה או פריסה לסוג אחר של תצוגה או פריסה.
עכשיו אפשר ליצור בקלות אילוצים לגבי פריטים שנמצאים ליד התצוגה שנבחרה באמצעות
חדש: יצירת חיבור
בכלי לבדיקת התצוגה שבחלק העליון של החלון מאפיינים.
הפעלה והרצה מיידית
ההתנהגות של אני רוצה להשתמש באותה הבחירה לעתיד השקות בקטע בחירת יעד פריסה יותר עקביות. אם האפשרות Use same selection מופעלת, תיבת הדו-שיח Select deployment target נפתחת רק בפעם הראשונה שמשתמשים בפקודה Run, עד שהמכשיר שנבחר כבר לא מחובר.
כשמטרגטים מכשיר עם Android 8.0 (רמת API 26) ואילך, אפשר לפרוס שינויים במשאבים באמצעות Instant Run בלי להפעיל מחדש את האפליקציה. הדבר אפשרית כי המשאבים נמצאים ב-APK מפוצל.
מכשיר הדמיה
קבלת פרטים על מה חדש והשתנה באמולטור מאז Android ב-Studio 3.0, אפשר לעיין בנתוני הגרסה של Android Emulator גרסה 27.0.2 עד גרסה 27.1.12.
השיפורים העיקריים כוללים:
- תמונות מצב של ההפעלה המהירה לשמירת מצב האמולטור והפעלה מהירה יותר, עם היכולת להשתמש בפקודה Save now כדי לשמור מצב התחלה מותאם אישית.
- מסך אמולטור ללא חלון.
- תמונות מערכת ל-Android 8.0 (רמת API 26), ל-Android 8.1 (רמת API) 27), ותצוגה מקדימה למפתחים של Android P.
ממשק משתמש וחוויית משתמש שיפורים
עוד הסברים קצרים, מקשי קיצור והודעות מועילות
הוספנו תיאורים קצרים ועלילות של הודעות מועילות במקומות רבים ב-Android Studio.
כדי לראות את מקשי הקיצור של פקודות רבות, פשוט מעבירים את סמן העכבר מעל לחצן כלשהו עד שמופיעה ההודעה.
כלים > תפריט Android הוסר
בתפריט כלים > תפריט Android הוסר. פקודות הועברו בעבר לתפריט הזה.
- פקודות רבות הועברו ישירות לתפריט כלים תפריט
- הפקודה Sync project with gradle בקובץ הועברה אל בתפריט קובץ.
- הפקודה Device Monitor הוסרה שמתואר בהמשך.
מוניטור המכשיר זמין משורת הפקודה
ב-Android Studio 3.1, ל-Device Monitor יש פחות תפקיד בהשוואה אליו בעבר. במקרים רבים, הפונקציונליות שזמינה דרך Device Monitor ניתנת עכשיו באמצעות כלים חדשים ומודרניים יותר.
לצפייה מסמכי התיעוד של Device Monitor עבור הוראות להפעלת Device Monitor משורת הפקודה פרטים על הכלים שזמינים דרך Device Monitor.