בפרויקטים חדשים נעשה עכשיו שימוש ב-Kotlin DSL (build.gradle.kts) כברירת מחדל להגדרת build. הוא מציע חוויית עריכה טובה יותר מאשר Groovy DSL (build.gradle) עם הדגשת תחביר, השלמת קוד וניווט להצהרות. שימו לב: אם אתם משתמשים ב-AGP 8.1 וב-Kotlin DSL להגדרת build, מומלץ להשתמש ב-Gradle 8.1 כדי ליהנות מהחוויה הטובה ביותר. מידע נוסף זמין במדריך להעברת נתונים של Kotlin 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 בן שתי אותיות או שלוש אותיות.
לדוגמה, אם ברירת המחדל של הלוקאל היא אנגלית אמריקאית:
unqualifiedResLocale=en-US
AGP מוסיף את הלוקאל שמוגדר כברירת מחדל ולוקאלים חלופיים שציינתם, באמצעות ספריות values-* בתיקייה res, לקובץ LocaleConfig שנוצר אוטומטית.
תמיכה אוטומטית בשפה לכל אפליקציה מושבתת כברירת מחדל. כדי להפעיל את התכונה, משתמשים בהגדרה generateLocaleConfig בבלוק androidResources {} של קובץ build.gradle.kts ברמת המודול (קובץ build.gradle אם משתמשים ב-Groovy):
החל מ-AGP 8.1.0-alpha04, Android Lint מכיל בייטקוד שמיועד ל-JVM 17. אם אתם כותבים בדיקות Lint מותאמות אישית, אתם צריכים לבצע קומפילציה באמצעות JDK 17 ומעלה
ולציין jvmTarget = '17' באפשרויות של מהדר Kotlin.
החל מ-AGP 8.1.0-alpha10, תוצג אזהרה אם לא תגדירו דחיסה של ספרייה מקומית באמצעות DSL במקום באמצעות המניפסט. בהמשך מוסבר איך לעדכן את ההגדרות כדי להשתמש ב-DSL. כדי לקבל עזרה בעדכונים האלה, אפשר להשתמש בכלי AGP Upgrade Assistant (Tools > AGP Upgrade Assistant).
כדי להשתמש בספריות מקוריות לא דחוסות, מסירים את המאפיין android::extractNativeLibs
מהמניפסט ומוסיפים את הקוד הבא לקובץ build.gradle.kts ברמת המודול (קובץ build.gradle אם משתמשים ב-Groovy):
אם מפעילים את ההגדרה הזו בלי לציין הגדרות חתימה, AGP ישתמש בהגדרת החתימה של ניפוי הבאגים שמוגדרת כברירת מחדל כשמריצים build שאפשר ליצור ממנו פרופיל או לנפות בו באגים. ההתראה הזו מושבתת כברירת מחדל כדי לעודד את יוצרי הגרסאות להצהיר על הגדרות חתימה ספציפיות של פרופילים.
android.experimental.library.desugarAndroidTest
AGP 8.0
false
הדגל הזה מאפשר ליוצרי ספריות להפעיל desugaring של ספריית הליבה עבור קובצי APK של בדיקות בלי להשפיע על קובץ ה-AAR שנוצר, למשל באמצעות linting.
אנחנו מתכננים לתמוך בהתנהגות הזו ב-Variant API בעתיד.
אם ההגדרה הזו מופעלת, Gradle Managed Devices מאפשרת סוג מכשיר מותאם אישית שמוגדר על ידי המשתמש, שאפשר לספק באמצעות פלאגין. צריך להפעיל את הדגל הזה אם רוצים להשתמש בפלאגין Firebase Test Lab.
android.lint.printStackTrace
AGP 8.0
false
אם האפשרות הזו מופעלת, Android lint מדפיס את ה-stacktrace אם הוא קורס. הדגל הזה
מאפשר את אותן פעולות כמו משתנה הסביבה LINT_PRINT_STACKTRACE.
[AGP 8.1.0] הפקודה ./gradlew test נכשלת עם השגיאה Unable to find manifest output אם גם splits.abi.isEnable וגם testOptions.unitTests.isIncludeAndroidResources מוגדרים כ-true
[AGP 8.1.0] הפקודה ./gradlew test נכשלת עם השגיאה Unable to find manifest output אם גם splits.abi.isEnable וגם testOptions.unitTests.isIncludeAndroidResources מוגדרים כ-true
לא מריצים את משימת ה-dexing בכיתות של פרויקטים משניים כשהן כבר עברו dexing באמצעות טרנספורמציות של ארטיפקטים
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-08-08 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-08-08 (שעון UTC)."],[],[]]