AGP 9.2.0-alpha07 وظایفی را برای تولید داشبوردهای HTML معرفی میکند که نتایج تست و پوشش انواع مختلف تست (واحد و ابزار دقیق)، ماژولها و انواع ساخت را تجمیع میکند و یک مرور کلی جامع را در یک داشبورد واحد ارائه میدهد. برای اطلاعات بیشتر، به «ایجاد گزارشهای پوشش کد یکپارچه» و «مشاهده گزارشهای تست یکپارچه» مراجعه کنید.
تغییرات R8
تغییرات R8 زیر در AGP 9.2.0 لحاظ شدهاند.
معانی سختگیرانهتر -keepattributes برای حفظ حاشیهنویسیهای نامرئی در زمان اجرا
حاشیهنویسیهای نامرئی زمان اجرا را نمیتوان در زمان اجرا خواند. بنابراین D8 بدون قید و شرط حاشیهنویسیهای نامرئی زمان اجرا را حذف میکند، بدون اینکه گزینهای برای تغییر این مورد وجود داشته باشد.
برای سازگاری با ProGuard، R8 از خروجی حاشیهنویسیهای نامرئی زمان اجرا پشتیبانی میکند. اما هنگام کامپایل به DEX، حاشیهنویسیهای نامرئی زمان اجرا معمولاً هرگز نباید حفظ شوند. با این حال، معمولاً قانون مناسب -keepattributes *Annotation* (به طور مستقیم یا غیرمستقیم از قوانین consumer keep) برای R8 در نظر گرفته میشود تا حاشیهنویسیهای قابل مشاهده زمان اجرا حفظ شوند. متأسفانه این امر منجر به حفظ حاشیهنویسیهای نامرئی زمان اجرا نیز میشود.
برای کاهش این مشکل و تطابق بهتر با رفتار D8، الگوهای -keepattributes با wildcards دیگر با RuntimeInvisibleAnnotations ، RuntimeInvisibleParameterAnnotations و RuntimeInvisibleTypeAnnotations مطابقت ندارند. در نتیجه، حاشیهنویسیهای نامرئی زمان اجرا فقط در صورتی حفظ میشوند که نام ویژگی به صراحت و بدون wildcards ذکر شود.
هیچ یک از قوانین زیر اکنون حاشیهنویسیهای نامرئی زمان اجرا را حفظ نمیکنند:
زبان پیکربندی گسترش یافته است، به طوری که اکنون میتوانید الگوهای نام عضو منفیشده را مطابقت دهید.
برای مثال، برای تطبیق تمام متدهایی که به "ForTesting" ختم نمیشوند، از قانون زیر استفاده کنید:
-keepclassmembers class com.example.MyClass {
*** !*ForTesting(...);
}
الگوهای نام عضو همچنین میتوانند در پیششرط قوانین -if منفی شوند. اگر یک الگوی نام عضو منفی شده حاوی کاراکترهای عمومی باشد، چنین کاراکترهای عمومی نمیتوانند در قانون -if به عقب ارجاع داده شوند.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2026-04-24 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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-04-24 بهوقت ساعت هماهنگ جهانی."],[],[]]