פלאגין של 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 או איך מעבירים את ה-build לקטלוגים של גרסאות
השלמת קוד וניווט
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+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 (גרסת 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 8.3.0-alpha02, כשמריצים כלי לאיתור שגיאות בקוד (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 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) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||