پلاگین Android Gradle 8.2.0 (نوامبر 2023)
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
افزونه اندروید گریدل ۸.۲.۰ یک نسخه اصلی است که شامل مجموعهای از ویژگیها و بهبودهای جدید میشود.
سازگاری
حداکثر سطح API که افزونه اندروید Gradle نسخه ۸.۲ پشتیبانی میکند، سطح API ۳۴ است. در اینجا اطلاعات سازگاری دیگری نیز وجود دارد:
ماکروی جدید برای مشخص کردن مسیر JDK
#GRADLE_LOCAL_JAVA_HOME یک ماکروی جدید است که میتوانید برای مشخص کردن مسیر JDK از آن استفاده کنید. این کار، تعیین مسیر اصلی جاوا که برای اجرای Daemon (فرآیند پسزمینه) Gradle برای پروژه شما استفاده میشود را ایمنتر و آسانتر میکند. انتخاب مسیر در فیلد java.home در فایل .gradle/config.properties ذخیره میشود. این فیلد را از طریق تنظیمات Gradle JDK در اندروید استودیو تنظیم کنید: File (یا اندروید استودیو در macOS) > Settings > Build, Execution, Deployment > Build Tools > Gradle .
پروژههای جدید به طور پیشفرض از #GRADLE_LOCAL_JAVA_HOME استفاده خواهند کرد. پروژههای موجود پس از همگامسازی موفقیتآمیز، به طور خودکار به ماکروی جدید منتقل میشوند، مگر اینکه از قبل از ماکرویی مانند #JAVA_HOME استفاده کنید.
مزایای اصلی ماکرو جدید به شرح زیر است:
- شما میتوانید مسیر JDK را به صورت دستی تغییر دهید تا همگامسازی بدون باز کردن پروژه انجام شود.
- خطاهای کمتری مربوط به نسخههای ناسازگار Gradle و JDK پروژه وجود دارد زیرا یک منبع واحد برای انتخاب Gradle JDK شما وجود دارد.
مشکلات برطرف شده
افزونه اندروید گریدل ۸.۲.۲
| مشکلات برطرف شده |
|---|
| افزونه گرادل اندروید | تنظیم نسخه JaCoCo در AGP 8.2.0 امکانپذیر نیست |
|
| دکسر (D8) | [کتابخانه desugared] کتابخانه Desugared نسخه ۲.۱ با نسخههای قبلی R8 سازگار نیست. | بهینهسازیها حتی فقط با D8 هم اجرا میشوند؟ |
|
| شرینکر (R8) | [R8 8.3.21] R8 8.3.21 به میزان ۱.۵۷ مگابایت از R8 8.1.56 بزرگتر است. | تابع ()class.getInterfaces مقدار خالی برمیگرداند. |
|
افزونه اندروید گریدل ۸.۲.۱
| مشکلات برطرف شده |
|---|
| افزونه گرادل اندروید | وقتی کلاسهای زیرپروژهها از طریق تبدیلهای مصنوعات، dex شدهاند، وظیفه dexing را روی آنها اجرا نکنید. | افزونه Gradle اندروید با JavaVersion.VERSION_11 و OpenJDK 21 ea ناموفق بود |
|
| دکسر (D8) | رکوردهای Desugar برای اندروید U |
|
| شرینکر (R8) | R8 یک dex خراب تولید میکند که منجر به استثنای تبدیل کلاس در زمان اجرا میشود. | R8 باعث تغییر رابط به رابط غیرقابل دسترس میشود | خرابی SDK مربوط به R8 Flurry با AGP 8.2.0 | اندروید - R8 باعث از کار افتادن زیرکلاس LinearLayoutManager میشود | خطای ClassCastException در R8 زمانی که بستهبندی مجدد فعال است و shrinking، obfuscation و optimization غیرفعال هستند. | R8 در BridgeAnalyzer.analyzeMethod گیر کرده است | R8 نسخه ۸.۲.۳۳، "java.lang.VerifyError: نوع نامناسب در پشته عملوند" پس از ارتقا، از کار افتاد. |
|
افزونه اندروید گریدل ۸.۲.۰
| مشکلات برطرف شده |
|---|
| افزونه گرادل اندروید | انواع منابع سفارشی باید مجموعه منابع چند منظوره ایجاد کنند | بررسی نسخه SDK، کاربران افزونههای SDK را مدیریت نمیکند. | DependenciesInfoBuilder نیاز به بهروزرسانی API + مستندات دارد | DexingNoClasspathTransform (minSdk >= 24) با هدف جاوا ۱۱ به دلیل فقدان اعضای لانه با شکست مواجه میشود. | DslExtension.Builder.extendProjectWith() طبق توضیحات Groovy کار نمیکند | API مربوط به VariantSelector.withFlavor را که از kotlin.Pair استفاده نمیکند، اضافه کنید. | وظیفه تحلیل لینت اندروید ( (:lintAnalyzeExternalRelease) به دلیل تغییر `proguard.txt`، دچار از دست رفتن حافظه پنهان شده است. | مانیفست ادغامشدهی برنامه شامل ویژگیهای extractNativeLibs و useEmbeddedDex از وابستگیها است. | AIDL با build-tools نسخه ۳۳.۰.۰ کار نمیکند. | AGP: مسیر ابزار AIDL و فایل چارچوب AIDL را به عنوان API عمومی نمایش دهید | درخواست: اجازه دهید IDE راه حلی برای "PermittedSubclasses requires ASM9" ارائه دهد | هنگام کامپایل AGP، بایتکد ۱۷ را هدف قرار دهید | حذف VariantManager.getModifiedName | AndroidTest.packaging.jniLibs.keepDebugSymbols بر بستهبندی androidTest تأثیری ندارد | وظایف تست ابزار دقیق GMD متوقف میشوند و پس از تلاش مجدد، شروع به شکست میکنند. | generateLocaleConfig در agp 8.1.0 از ترتیب غیرقطعی استفاده میکند و باعث اختلال در ساختهای قابل تکرار میشود. | ProcessApplicationManifest.navigationJsons فایلهایی با مسیرهای مطلق دارد | دسترسی به GradleBuildProject.Builder از طریق AnalyticsConfiguratorService پس از ایجاد AnalyticsService مجاز نیست. | AndroidTest.packaging.jniLibs.keepDebugSymbols بر بستهبندی androidTest تأثیری ندارد | کامپایل برای مقادیر رنگی غیرمجاز مجاز است | "ReplaceWith" نادرست برای VariantBuilder | Gradle 8.1 به دلیل وجود .gradle/.android/analytics.settings، ذخیره سازی پیکربندی را مختل میکند. | پیامهای منسوخشده از «ReplaceWith» استفاده نمیکنند | راهی برای دریافت نسخه پیشفرض NDK ارائه دهید | افزونهی اندروید گریدل برای اجرا به جاوا نسخه ۱۷ نیاز دارد. | ناسازگاری ASM Transform و toAppend() | رفع خطاهای LintErrors هنگام اجرای lint با K2 UAST از طریق Gradle در یک پروژه KMP | پشتیبانی از missingDimensionStrategy در سطح Variant، و احتمالاً تطبیق نوع/طعم ساخت (Fallback) | فایل `android.injected.studio.version` در اندروید استودیو Giraffe حذف شد. | افزودن قابلیت غیرفعال کردن AndroidXDependencyCheck | generateLocaleConfig در agp 8.1.0 از ترتیب غیرقطعی استفاده میکند و باعث اختلال در ساختهای قابل تکرار میشود. | الزامات نسخه R8 / D8 را در فرادادههای AAR اعلام کنید (مثلاً برای coreLibraryDesugaring و API جدید out-of-lining) | هشدار همگامسازی: «پس از ایجاد AnalyticsService، نباید از طریق AnalyticsConfiguratorService به GradleBuildProject.Builder دسترسی پیدا کرد» | بهروزرسانی به Gradle 8.2 milestone یا RC | دسترسی به 'java.lang.Comparable' امکانپذیر نیست | androidResources در ماژول کتابخانه اندروید موجود نیست | اجرای وظیفه ':app:mergeReleaseClasses' پس از بهروزرسانی AGP از ۸.۰.۲ به ۸.۱.۰ با شکست مواجه شد. | Gradle 8.1 به دلیل وجود .gradle/.android/analytics.settings، ذخیره سازی پیکربندی را مختل میکند. | [AGP 8.1.0] اگر هر دو splits.abi.isEnable و testOptions.unitTests.isIncludeAndroidResources درست باشند، تست ./gradlew با پیام "Unable to find manifest output" با شکست مواجه میشود. | اندروید استودیو Giraffe نسخه VersionCodeOverride را با AGP 8.1 رعایت نمیکند. | AGP 8.1.0 پس از اجرای تستهای ابزار دقیق، برنامه را حذف نصب میکند - 7.4.2 این کار را نمیکند | تبدیل فایل APK منجر به خطایی در ListingFileRedirectTask میشود. | رگرسیون جوجه تیغی: دکمه اجرا چند ثانیه به تأخیر میافتد (در حال ایجاد مشخصات) |
|
| دکسر (D8) | فعال کردن رکوردهای بومی و کلاسهای مهر و موم شده هنگام dexing برای min-api 34 و بالاتر |
|
| پرز | بررسی lint نمونهسازیشده، AppComponentFactory را به خوبی مدیریت نمیکند. | نسخههای آلفای Lint 8.2.0 هنوز از ایمپورت توابع سطح بالا در کاتلین پشتیبانی نمیکنند. | گزینهای اضافه کنید که شماره خط و ستون در خط پایه lint لحاظ نشود | گزینهای اضافه کنید که شماره خط و ستون در خط پایه lint لحاظ نشود | تستهای Lint از ویژگیهای زبان جاوا ۱۷ پشتیبانی نمیکنند. | پچ اول Bumblebee 2021.1.1 میگوید که نسخه قدیمی (20030203.000550) از commons-io جدیدتر از 2.11.0 است. | نسخههای آلفای Lint 8.2.0 هنوز از ایمپورت توابع سطح بالا در کاتلین پشتیبانی نمیکنند. | پچ اول Bumblebee 2021.1.1 میگوید که نسخه قدیمی (20030203.000550) از commons-io جدیدتر از 2.11.0 است. | اندروید استودیو به طور نامناسبی نسخه مشخص شده را به عنوان قدیمی علامت گذاری میکند. | Lint هنگام استفاده از K2 UAST، مسئله UseValueOf را نادیده میگیرد | مشکلات غیرمنتظره از پروژه دیگری که توسط Android Lint علامتگذاری شده است | خطای Android Lint در کتابخانه KMP با `property 'variantInputs.name' does not have a configure value`` |
|
| ادغام Lint | خطای lint مربوط به DuplicatePlatformClasses از وابستگی testImplementation |
|
| شرینکر (R8) | java.lang.VerifyError: کلاس تأییدکننده رد شد | هنگام استفاده از کتابخانه Apache POI، ساخت روی :minifyReleaseWithR8 گیر میکند | کاتلین ۱.۹ باعث میشود که اگر nullcheckها حذف شوند، لامبداهای کاتلین توسط R8 از بین بروند. |
|
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-11-13 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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-11-13 بهوقت ساعت هماهنگ جهانی."],[],[]]