הפלאגין Android Gradle 8.1.0 הוא גרסה ראשית שכוללת מגוון של ותכונות ושיפורים.
תאימות
גרסת המינימום | גרסת ברירת המחדל | הערות | |
---|---|---|---|
גרדל | 8.0 | 8.0 | מידע נוסף על עדכון Gradle |
כלים לבניית SDK | 33.0.1 | 33.0.1 | התקנה או הגדרה של כלים לבניית SDK. |
NDK | לא רלוונטי | 25.1.8937393 | מתקינים או מגדירים גרסה אחרת של ה-NDK. |
JDK | 17 | 17 | למידע נוסף, אפשר לעיין בהגדרה של גרסת ה-JDK. |
Kotlin DSL הוא ברירת המחדל להגדרת build
בפרויקטים חדשים נעשה עכשיו שימוש ב-Kotlin DSL (build.gradle.kts
) כברירת מחדל ל-build
הגדרה אישית. התכונה הזו מציעה חוויית עריכה טובה יותר מאשר ה-DSL של גרובי
(build.gradle
) עם הדגשת תחביר, השלמת קוד וניווט אל
וההצהרות שלו. הערה: אם משתמשים ב-AGP 8.1 וב-Kotlin DSL ל-build
ולכן כדאי להשתמש ב-Gradle 8.1 כדי ליהנות מהחוויה הכי טובה. למידע נוסף,
כדאי לעיין במדריך להעברת נתונים (מיגרציה) של Kootlin DSL.
תמיכה אוטומטית בשפה לפי אפליקציה
החל מגרסת Android Studio Giraffe Canary 7 ו-AGP 8.1.0-alpha07, ניתן
להגדיר את האפליקציה שלך לתמיכה בשפה לכל אפליקציה
העדפות באופן אוטומטי. על סמך
משאבי הפרויקט, הפלאגין Android Gradle יוצר את הקובץ LocaleConfig
ומוסיפה הפניה אליו בקובץ המניפסט הסופי, כך שכבר לא צריך
ידנית. AGP משתמשת במשאבים שנמצאים ב-res
התיקיות במודולים של האפליקציה
וכל יחסי תלות של מודולי ספרייה כדי לקבוע את הלוקאלים שיש לכלול
קובץ LocaleConfig
.
לתשומת ליבכם: התכונה 'שפה אוטומטית לכל אפליקציה' תומכת באפליקציות שפועלת בהן מערכת Android
13 (רמת API 33) ואילך. כדי להשתמש בתכונה, צריך להגדיר
compileSdkVersion
ל-33 ואילך. כדי להגדיר העדפות שפה לכל אפליקציה
בגרסאות קודמות של Android, עדיין צריך
להשתמש בממשקי ה-API ובבוחרי השפה בתוך האפליקציות.
כדי להפעיל את התמיכה האוטומטית בשפה לכל אפליקציה, צריך לציין לוקאל ברירת מחדל:
- בתיקייה
res
של מודול האפליקציה, יוצרים קובץ חדש בשםresources.properties
. בקובץ
resources.properties
, מגדירים את הלוקאל שמוגדר כברירת מחדל עם התוויתunqualifiedResLocale
. כדי ליצור את השמות של הלוקאלים, צריך לשלב את את קוד השפה עם הסקריפט האופציונלי וקודי האזור, שמפרידים כל עם מקף:- שפה: יש להזין שתיים או שלוש אותיות ISO 639-1
- סקריפט (אופציונלי): משתמשים ב קוד ISO 15924.
- אזור (אופציונלי): יש להשתמש באחת משתי האותיות ISO 3166-1-alpha-2 או UN_M.49 בן שלוש ספרות
לדוגמה, אם אזור ברירת המחדל שלכם הוא אנגלית אמריקאית:
unqualifiedResLocale=en-US
AGP מוסיפה את הלוקאל שמוגדר כברירת המחדל
לוקאלים חלופיים
שציינת, באמצעות ספריות values-*
בתיקייה res
,
קובץ LocaleConfig
שנוצר באופן אוטומטי.
תמיכה אוטומטית בשפה לכל אפליקציה מושבתת כברירת מחדל. כדי להפעיל את התכונה,
להשתמש בהגדרה generateLocaleConfig
שבבלוק androidResources {}
של
קובץ build.gradle.kts
ברמת המודול (קובץ build.gradle
אם משתמשים ב-
מגניב):
Kotlin
android { androidResources { generateLocaleConfig = true } }
מגניב
android { androidResources { generateLocaleConfig true } }
איתור שגיאות בקוד של Android מכיל בייטקוד שמטרגט ל-JVM 17
החל מ-AGP 8.1.0-alpha04, מערכת Android Linet מכילה בייטקוד שמטרגט ל-JVM
17. אם כותבים בדיקות לאיתור שגיאות בקוד בהתאמה אישית, צריך לבצע הידור (compile) ל-JDK מגרסה 17 ואילך
ולציין את jvmTarget = '17'
באפשרויות המהדר של Kotlin.
מידע נוסף על הכלי לאיתור שגיאות בקוד זמין כאן שיפור הקוד באמצעות בדיקות לאיתור שגיאות בקוד.
הגדרת הדחיסה של ספריות נייטיב הועברה ל-DSL
החל מ-AGP 8.1.0-alpha10, תוצג אזהרה אם לא תתבצע הגדרה באמצעות ה-DSL במקום המניפסט. בהנחיה הבאה מוסבר איך לעדכן את ההגדרות כדי להשתמש ב-DSL. שפת תרגום קבלת עזרה בביצוע העדכונים האלה, אפשר להשתמש ב-AGP Upgrade Assistant (כלים > כלי השדרוג ל-AGP).
כדי להשתמש בספריות מקוריות לא דחוסות, צריך להסיר את android::extractNativeLibs
מהמניפסט ולהוסיף את הקוד הבא לרמת המודול
קובץ build.gradle.kts
(קובץ build.gradle
אם משתמשים ב-Groovy):
Kotlin
android { packagingOptions { jniLibs { useLegacyPackaging = false } } }
מגניב
android { packagingOptions { jniLibs { useLegacyPackaging false } } }
דגלים ב-build ניסיוני
אלה דגלים ניסיוניים להגדרת ה-build שזמין ב-AGP 8.1.
סימון | נוסף ב- | ערך ברירת מחדל | הערות |
---|---|---|---|
android.experimental.useDefaultDebugSigningConfigForProfileableBuildtypes |
AGP 8.0 | false |
הפעלת האפשרות הזו ללא תצורות של חתימה תגרום ל-AGP להשתמש ב- הגדרת ברירת מחדל לחתימה על ניפוי באגים בזמן הרצת פרופיל שניתן לפרופיל או לניפוי באגים build. הסימון הזה מושבת כברירת מחדל כדי לעודד את מחברי ה-build להצהיר על הגדרות חתימה ספציפיות של הפרופיילינג. |
android.experimental.library.desugarAndroidTest |
AGP 8.0 | false |
הסימון הזה מאפשר לבוני ספריות להפעיל הסרה של ספריות ליבה לצורך לבדוק חבילות APK בלי להשפיע על ה-AAR שנוצר, למשל על ידי איתור שגיאות בקוד (linting). אנחנו מתכננים לתמוך בסופו של דבר בהתנהגות הזו ב-וריאנט API. |
android.experimental.testOptions.managedDevices.customDevice |
AGP 8.0 | false |
אם ההגדרה הזו מופעלת, Gradle Managed Accounts מאפשרת מכשיר מותאם אישית בהגדרת המשתמש שאפשר לספק באמצעות פלאגין. הסימון הזה חייב להיות מופעל אם שרוצים להשתמש בפלאגין של Firebase Test Lab. |
android.lint.printStackTrace |
AGP 8.0 | false |
אם האפשרות הזו מופעלת, מערכת Android lint מדפיסה דוח קריסות אם הוא קורס. הדגל הזה
יש את אותן יכולות כמו של LINT_PRINT_STACKTRACE
במשתנה הסביבה. |
android.experimental.testOptions.managedDevices.maxConcurrentDevices |
AGP 8.0 | ללא | מציינת את המספר המקסימלי של מכשירים מנוהלים ב-Gradle בו-זמנית (AVD) יהיו פעילים בנקודת זמן כלשהי. אם הערך הוא 0 או שלילי, אין מספר מקסימלי של מכשירים. |
android.experimental.testOptions.installApkTimeout |
AGP 8.0 | ללא | משך הזמן הקצוב לתפוגה בשניות להתקנת APK. אם הערך הוא 0 או שלילי, הוא יוגדר לערך ברירת מחדל על ידי UTP. |