پروژههای جدید اکنون بهطور پیشفرض از Kotlin DSL (build.gradle.kts) برای پیکربندی ساخت استفاده میکنند. این زبان در مقایسه با Groovy DSL
(build.gradle) تجربه ویرایش بهتری با برجستهسازی دستورگان، تکمیل کد، و ناوبری به
اظهارات ارائه میدهد. توجه داشته باشید که اگر از AGP 8.1 و Kotlin DSL برای پیکربندی ساخت استفاده میکنید، برای داشتن بهترین تجربه باید از Gradle 8.1 استفاده کنید. برای کسب اطلاعات بیشتر،
راهنمای انتقال Kotlin DSL را ببینید.
پشتیبانی خودکار از زبان هر برنامه
از Android Studio Giraffe Canary 7 و AGP 8.1.0-alpha07، میتوانید
برنامهتان را پیکربندی کنید تا بهطور خودکار از ترجیحات زبان هر برنامه پشتیبانی کند. براساس منابع پروژه شما، افزایه Android Gradle فایل LocaleConfig را تولید میکند و مرجعی به آن در فایل مانیفست نهایی اضافه میکند، بنابراین دیگر لازم نیست این کار را بهصورت دستی انجام دهید. AGP از منابع موجود در res پوشه واحدهای برنامه شما
و هرگونه وابستگی واحد کتابخانه برای تعیین زبانهای محلی که باید در فایل
LocaleConfig گنجانده شود استفاده میکند.
توجه داشته باشید که ویژگی زبان خودکار برای هر برنامه از برنامههایی که Android نسخه ۱۳ (سطح میانای برنامهسازی کاربردی ۳۳) یا بالاتر را اجرا میکنند پشتیبانی میکند. برای استفاده از این ویژگی، باید
compileSdkVersion را روی ۳۳ یا بالاتر تنظیم کنید. برای پیکربندی اولویتهای زبان برای هر برنامه
در نسخههای قبلی Android، همچنان باید
از میاناهای برنامهسازی کاربردی و انتخابگرهای زبان درونبرنامهای استفاده کنید.
برای فعال کردن پشتیبانی خودکار از زبان هر برنامه، منطقه زبانی پیشفرضی را مشخص کنید:
در پوشه res واحد برنامه، فایل جدیدی بهنام
resources.properties ایجاد کنید.
در فایل resources.properties، منطقه زبانی پیشفرض را با
برچسب unqualifiedResLocale تنظیم کنید. برای تشکیل نامهای بازار محلی، کد زبان را با کد اختیاری نوشتار و منطقه ترکیب کنید و هریک را با خط تیره از هم جدا کنید:
برای مثال، اگر منطقه زبانی پیشفرض شما انگلیسی امریکایی است:
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 مشخص کنید.
تنظیم فشردهسازی کتابخانه مشترک C/C++ به DSL منتقل شد
از AGP 8.1.0-alpha10، اگر فشردهسازی کتابخانه مشترک C/C++ را بااستفاده از DSL بهجای مانیفست پیکربندی نکنید، هشدار دریافت خواهید کرد. راهنماییهای زیر توضیح میدهد که چگونه پیکربندی خود را برای استفاده از DSL بهروز کنید. برای
دریافت کمک در انجام این بهروزرسانیها، از «دستیار ارتقای AGP»
(ابزارها > دستیار ارتقای AGP) استفاده کنید.
برای استفاده از کتابخانههای مشترک C/C++ فشردهنشده،
android::extractNativeLibs مشخصه را از مانیفست بردارید و کد زیر را به
فایل build.gradle.kts سطح واحد (اگر از Groovy استفاده میکنید، فایل build.gradle) اضافه کنید:
فعال کردن این گزینه بدون مشخص کردن پیکربندیهای امضا باعث میشود AGP هنگام اجرای ساخت قابلنمایهگذاری یا اشکالزدایی، از پیکربندی امضای اشکالزدایی پیشفرض استفاده کند. این پرچم بهطور پیشفرض غیرفعال است تا نویسندگان ساخت را تشویق کند
پیکربندیهای امضای نمایهسازی خاصی را اعلام کنند.
android.experimental.library.desugarAndroidTest
AGP 8.0
false
این پرچم به سازندگان کتابخانه اجازه میدهد
برای فایلهای APK آزمایشی، بدون تأثیر گذاشتن بر AAR تولیدشده، برای مثال ازطریق linting،
امکان تبدیل کتابخانه اصلی را فعال کنند.
قصد داریم درنهایت از این رفتار در «میانای برنامهسازی کاربردی گونه» پشتیبانی کنیم.
اگر فعال باشد، «دستگاههای مدیریتشده Gradle» به کاربر اجازه میدهد نوع دستگاه سفارشی تعریفشده توسط کاربر را
ارائه کند که افزایه میتواند آن را ارائه دهد. اگر میخواهید از افزایه Firebase Test Lab استفاده کنید،
باید این پرچم را فعال کنید.
android.lint.printStackTrace
AGP 8.0
false
اگر فعال باشد، Android lint درصورت ازکارافتادن، ردیابی پشته را چاپ میکند. این پرچم
همان قابلیتهای متغیر محیطی LINT_PRINT_STACKTRACE
را دارد.
حداکثر تعداد «دستگاههای مدیریتشده Gradle» همزمان (AVD) را که در هر زمان میتواند فعال باشد مشخص میکند. اگر مقدار ۰ یا منفی باشد، حداکثر تعداد دستگاه وجود ندارد.
[AGP 8.1.0] اگر هم splits.abi.isEnable و هم testOptions.unitTests.isIncludeAndroidResources درست باشند، ./gradlew test با پیام «Unable to find manifest output» (خروجی مانیفست پیدا نشد) ناموفق میشود
[AGP 8.1.0] اگر هم splits.abi.isEnable و هم testOptions.unitTests.isIncludeAndroidResources درست باشند، ./gradlew test با پیام «Unable to find manifest output» (خروجی مانیفست پیدا نشد) ناموفق میشود
خرابی با خطای «درستیسنجی» در Android 12 و نسخههای بالاتر
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2026-10-08 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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"]],["تاریخ آخرین بهروزرسانی 2026-10-08 بهوقت ساعت هماهنگ جهانی."],[],[]]