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