פלאגין של Android Gradle 8.3.0 הוא גרסה מרכזית שכוללת מגוון של תכונות ושיפורים חדשים.
תאימות
רמת ה-API המקסימלית שנתמכת בפלאגין של Android Gradle 8.3 היא 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
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, אתם יכולים לערוך את המשתנים שהגדרתם שם דרך תיבת הדו-שיח Project Structure (מבנה הפרויקט) בתצוגה Variables (משתנים) (File > Project Structure > Variables (קובץ > מבנה הפרויקט > משתנים)) ב-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: התמיכה בהשלמת קוד, בניווט ובתיבת הדו-שיח Project Structure (מבנה הפרויקט) ב-Android Studio זמינה רק לקטלוגים של גרסאות שמוגדרים בפורמט קובץ TOML. עם זאת, עדיין אפשר להוסיף קובץ קטלוג גרסאות ישירות לקובץ
settings.gradleולהשתמש בתלות שלו בפרויקט.ניווט בקובצי build של KTS לא נתמך: ניווט להגדרת תלות בקטלוג גרסאות באמצעות Control+קליק (Command+קליק ב-macOS) עדיין לא נתמך בקובצי build שנכתבו באמצעות סקריפט Kotlin.
התלויות מתווספות ישירות בסקריפטים של build: Firebase Assistant מוסיף תלויות ישירות לסקריפטים של build במקום דרך קטלוגים של גרסאות.
הפונקציה Find usages לא נתמכת: עדיין אין תמיכה במציאת שימושים במשתנה של קטלוג גרסאות בקובצי 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
החל מגרסה Android Gradle plugin 8.3.0-alpha02, כשמריצים lint במודול, מורצות משימות נפרדות של ניתוח lint עבור הרכיבים הראשיים והרכיבים של הבדיקה במודול. הסיבה לשינוי הזה היא שיפור הביצועים.
כדי לחזור להתנהגות הקודמת, צריך להגדיר את
android.experimental.lint.analysisPerComponent=false בקובץ
gradle.properties.
כיווץ מדויק של מקורות המידע מופעל כברירת מחדל
התכונה 'כיווץ מקורות המידע המדויק', שמסירה רשומות שלא בשימוש מהקובץ resources.arsc ומבטלת קבצי משאבים שלא בשימוש, מופעלת כברירת מחדל.
כשההקטנה הזו מופעלת, טבלת המשאבים מצטמצמת ורק רשומות של תיקיות res שמופיעות בהפניות נכללות ב-APK.
כדי להשבית את כיווץ מקורות המידע המדויק, מגדירים את android.enableNewResourceShrinker.preciseShrinking ל-false בקובץ gradle.properties של הפרויקט.
בעיות שתוקנו
Android Gradle plugin 8.3.2
| בעיות שתוקנו | |||
|---|---|---|---|
| Android Gradle Plugin |
|
||
| שילוב Lint |
|
||
Android Gradle plugin 8.3.1
| בעיות שתוקנו | ||
|---|---|---|
| Android Gradle Plugin |
|
|
| שילוב Lint |
|
|
פלאגין של Android Gradle 8.3.0
| בעיות שתוקנו | ||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Android Gradle Plugin |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| Dexer (D8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| Lint |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| שילוב Lint |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| Shrinker (R8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||