Android Gradle plugin 8.3.0 הוא גרסה ראשית שכוללת מגוון תכונות ושיפורים חדשים.
תאימות
רמת ה-API המקסימלית שנתמכת על ידי Android Gradle Plugin 8.3 היא רמת API 34. מידע נוסף על תאימות:
גרסת מינימום | גרסת ברירת המחדל | הערות | |
---|---|---|---|
Gradle | 8.4 | 8.4 | מידע נוסף זמין במאמר בנושא עדכון Gradle. |
SDK Build Tools | 34.0.0 | 34.0.0 | מתקינים או מגדירים SDK Build Tools. |
NDK | לא רלוונטי | 25.1.8937393 | מתקינים או מגדירים גרסה אחרת של NDK. |
JDK | 17 | 17 | מידע נוסף זמין במאמר בנושא הגדרת גרסת ה-JDK. |
בהמשך מפורטות תכונות חדשות בפלאגין Android Gradle 8.3.
גרסאות תיקון
בהמשך מפורטת רשימה של גרסאות התיקון ב-Android Studio Iguana ובפלאגין Android Gradle 8.3.
Android Studio Iguana | 2023.2.1 Patch 2 ו-AGP 8.3.2 (אפריל 2024)
העדכון הקטן הזה כולל תיקוני באגים.
Android Studio Iguana | 2023.2.1 Patch 1 ו-AGP 8.3.1 (מרץ 2024)
העדכון הקטן הזה כולל תיקוני באגים.
תמיכה ב-Gradle Version Catalogs
Android Studio תומך בקטלוגים של גרסאות Gradle שמבוססים על TOML. זו תכונה שמאפשרת לכם לנהל יחסי תלות במיקום מרכזי אחד ולשתף יחסי תלות בין מודולים או פרויקטים. מעכשיו קל יותר להגדיר קטלוגים של גרסאות ב-Android Studio באמצעות הצעות בעורך ושילוב עם תיבת הדו-שיח Project Structure (מבנה הפרויקט). כאן אפשר לקרוא איך מגדירים ומגדירים קטלוגים של גרסאות Gradle, וכאן אפשר לקרוא איך מעבירים את הגרסה שלכם לקטלוגים של גרסאות.
השלמת קוד וניווט
Android Studio מציע השלמת קוד כשעורכים קטלוג גרסאות בפורמט קובץ TOML או כשמוסיפים תלות מקטלוג גרסאות לקובץ build. כדי להשתמש בהשלמת קוד, מקישים על Ctrl+Space (או על Command+Space ב-macOS). בנוסף, אפשר לעבור במהירות מהפניה לתלות בקובץ build.gradle
של האפליקציה למקום שבו היא מוצהרת בקטלוג הגרסאות. כדי לעשות זאת, מקישים על Ctrl+b (או על Command+b ב-macOS).
שילוב עם תיבת הדו-שיח Project Structure (מבנה הפרויקט)
אם הפרויקט שלכם משתמש בקטלוג גרסאות שמוגדר בפורמט קובץ TOML, אתם יכולים לערוך את המשתנים שהגדרתם שם דרך תיבת הדו-שיח מבנה הפרויקט בתצוגה משתנים (קובץ > מבנה הפרויקט > משתנים) ב-Android Studio. לכל קטלוג גרסאות יש תפריט נפתח שבו מפורטים המשתנים מהקטלוג הזה. כדי לערוך משתנה, לוחצים על הערך שלו ומחליפים אותו. כששומרים את השינויים האלה, קובץ ה-TOML מתעדכן בהתאם.
אפשר גם לעדכן את התלויות בתיבת הדו-שיח Project Structure (מבנה הפרויקט) בתצוגה Dependencies (תלויות) (File > Project Structure > Dependencies (קובץ > מבנה הפרויקט > תלויות)). כדי לעדכן גרסאות באמצעות תיבת הדו-שיח Project Structure, עוברים למודול ולתלות שרוצים לערוך, ואז מעדכנים את השדה Requested Version. כששומרים את השינויים האלה, קובץ ה-TOML מתעדכן בהתאם. שימו לב: אם גרסת התלות הוגדרה באמצעות משתנה, עדכון הגרסה ישירות בדרך הזו יגרום להחלפת המשתנה בערך מקודד. חשוב לדעת שהסרה של תלות מקובץ build, בין אם משתמשים בתיבת הדו-שיח Project Structure ובין אם לא, לא מסירה את התלות מקטלוג הגרסאות.
בעיות ידועות ומגבלות
אלה בעיות או מגבלות ידועות שקשורות לתמיכה בקטלוגים של גרסאות Gradle ב-Android Studio.
שגיאה בהדגשת הצהרות של כינויי פלאגין בקובצי סקריפט של Kotlin: כשמוסיפים הצהרת פלאגין מהצורה
alias(libs.plugins.example)
, העורך מוסיף קו אדום מתחת לחלקlibs
. זו בעיה מוכרת ב-Gradle בגרסה 8.0 ובגרסאות קודמות, והיא תיפתר בגרסה עתידית של Gradle.תמיכה ב-Android Studio רק בקטלוגים של גרסאות בפורמט TOML: נכון לעכשיו, התמיכה בהשלמת קוד, בניווט ובתיבת הדו-שיח 'מבנה הפרויקט' ב-Android Studio זמינה רק לקטלוגים של גרסאות שמוגדרים בפורמט קובץ TOML. עם זאת, עדיין אפשר להוסיף קטלוג גרסאות ישירות לקובץ
settings.gradle
ולהשתמש בתלות שלו בפרויקט.ניווט בקובצי build של KTS לא נתמך: ניווט להגדרת תלות בקטלוג גרסאות באמצעות Control+click (Command+click ב-macOS) עדיין לא נתמך בקובצי build שנכתבו באמצעות סקריפט Kotlin.
התלויות מתווספות ישירות בסקריפטים של build: Firebase Assistant מוסיף תלויות ישירות לסקריפטים של build במקום דרך קטלוגים של גרסאות.
הפונקציה 'חיפוש שימושים' לא נתמכת: עדיין אי אפשר לחפש שימושים במשתנה של קטלוג גרסאות בקובצי build אחרים, בין אם קובץ ה-build הוא ב-KTS או ב-Groovy. כלומר, שימוש ב-Control+click (או ב-Command+click ב-macOS) בהגדרת משתנה בקטלוג גרסאות לא מוביל לקובצי ה-build שבהם נעשה שימוש במשתנה.
בתיבת הדו-שיח Project Structure (מבנה הפרויקט) ב-Android Studio מוצגים כמה קובצי קטלוג אם הם נמצאים בתיקיית השורש
gradle
, אבל לא מוצגים קטלוגים של composite build. לדוגמה, אם יש לכם שני קובצי קטלוג – אחד לאפליקציה ואחד ל-composite build – בתיבת הדו-שיח Project Structure יוצג רק קובץ הקטלוג של האפליקציה. אפשר להשתמש ב-composite build, אבל צריך לערוך ישירות את קובץ ה-TOML שלו.
תובנות נוספות לגבי SDK: בעיות שקשורות למדיניות
ב-Android Studio מוצגות אזהרות של lint בקבצים build.gradle.kts
ו-build.gradle
ובתיבת הדו-שיח Project Structure לגבי ערכות SDK ציבוריות שכוללות הפרות של מדיניות Play ב-Google Play SDK Index. כדאי לעדכן את כל התלויות שמפירות את מדיניות Play, כי ההפרות האלה עלולות למנוע מכם לפרסם ב-Google Play Console בעתיד. האזהרות על הפרת מדיניות הן בנוסף לאזהרות על גרסאות לא עדכניות שמוצגות ב-Android Studio.
תמיכה בגרסת compileSdk ב-Android Studio
אם הפרויקט משתמש ב-compileSdk
שלא נתמך בגרסה הנוכחית של Android Studio, מוצגת אזהרה ב-Android Studio. אם יש גרסה כזו, המערכת גם תציע לעבור לגרסה של Android Studio שתומכת ב-compileSdk
שמשמש את הפרויקט. חשוב לזכור: יכול להיות ששדרוג של Android Studio ידרוש גם שדרוג של AGP.
בנוסף, אם הגרסה של compileSdk
שבה נעשה שימוש בפרויקט לא נתמכת על ידי הגרסה הנוכחית של AGP, מוצגת אזהרה בחלון הכלים Build.
שינויים בהתנהגות של Lint
החל מגרסה 8.3.0-alpha02 של Android Gradle Plugin, כשמריצים lint במודול, מורצים משימות ניתוח lint נפרדות עבור הרכיבים הראשיים והרכיבים של הבדיקה במודול. הסיבה לשינוי הזה היא שיפור הביצועים.
כדי לחזור להתנהגות הקודמת, מגדירים את android.experimental.lint.analysisPerComponent=false
בקובץ android.experimental.lint.analysisPerComponent=false
.gradle.properties
כיווץ מדויק של מקורות המידע מופעל כברירת מחדל
התכונה 'כיווץ מדויק של משאבים', שמסירה רשומות שלא בשימוש מהקובץ resources.arsc
ומבטלת קובצי משאבים שלא בשימוש, מופעלת כברירת מחדל.
כשההקטנה הזו מופעלת, טבלת המשאבים מצטמצמת ורק רשומות של תיקיות res
שמופיעות בהפניות נכללות ב-APK.
כדי להשבית את ההקטנה המדויקת של משאבים, מגדירים את הערך של android.enableNewResourceShrinker.preciseShrinking
ל-false
בקובץ gradle.properties
של הפרויקט.
בעיות שתוקנו
פלאגין Android Gradle 8.3.0
בעיות שתוקנו | ||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Android Gradle Plugin |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Dexer (D8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Lint |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Lint Integration |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Shrinker (R8) |
|
פלאגין Android Gradle 8.3.1
בעיות שתוקנו | ||
---|---|---|
Android Gradle Plugin |
|
|
Lint Integration |
|
פלאגין Android Gradle 8.3.2
בעיות שתוקנו | |||
---|---|---|---|
Android Gradle Plugin |
|
||
Lint Integration |
|