افزونه اندروید Gradle نسخه ۳.۲.۰ (سپتامبر ۲۰۱۸)
این نسخه از افزونه اندروید به موارد زیر نیاز دارد:
| حداقل نسخه | نسخه پیشفرض | یادداشتها | |
|---|---|---|---|
| گرادل | ۴.۶ | ۴.۶ | برای کسب اطلاعات بیشتر، به بهروزرسانی Gradle مراجعه کنید. |
| ابزارهای ساخت SDK | ۲۸.۰.۳ | ۲۸.۰.۳ | ابزارهای ساخت SDK را نصب یا پیکربندی کنید . |
۳.۲.۱ (اکتبر ۲۰۱۸)
با این بهروزرسانی، دیگر نیازی به تعیین نسخه برای ابزارهای ساخت SDK ندارید. افزونه Android Gradle اکنون به طور پیشفرض از نسخه 28.0.3 استفاده میکند.
ویژگیهای جدید
پشتیبانی از ساخت بستههای نرمافزاری اندروید: بسته نرمافزاری یک فرمت آپلود جدید است که شامل تمام کد کامپایل شده و منابع برنامه شما میشود و در عین حال تولید APK و امضای آن در فروشگاه Google Play را به تعویق میاندازد. دیگر نیازی به ساخت، امضا و مدیریت چندین APK ندارید و کاربران دانلودهای کوچکتری را دریافت میکنند که برای دستگاهشان بهینه شده است. برای کسب اطلاعات بیشتر، درباره بستههای نرمافزاری اندروید مطالعه کنید.
پشتیبانی از سرعت ساخت افزایشی بهبود یافته هنگام استفاده از پردازندههای حاشیهنویسی:
AnnotationProcessorOptionsDSL اکنونCommandLineArgumentProviderتوسعه میدهد، که به شما یا نویسنده پردازنده حاشیهنویسی امکان میدهد آرگومانها را برای پردازنده با استفاده از حاشیهنویسیهای نوع ویژگی ساخت افزایشی حاشیهنویسی کنید. استفاده از این حاشیهنویسیها، صحت و عملکرد ساختهای تمیز افزایشی و ذخیره شده را بهبود میبخشد. برای کسب اطلاعات بیشتر، بخش «ارسال آرگومانها به پردازندههای حاشیهنویسی» را مطالعه کنید.ابزار مهاجرت برای AndroidX: هنگام استفاده از افزونه Android Gradle نسخه ۳.۲.۰ با اندروید ۳.۲ و بالاتر، میتوانید وابستگیهای محلی و Maven پروژه خود را برای استفاده از کتابخانههای جدید AndroidX با انتخاب Refactor > Migrate to AndroidX از نوار منو، مهاجرت دهید. استفاده از این ابزار مهاجرت، پرچمهای زیر را نیز در فایل
gradle.propertiesشما رویtrueتنظیم میکند:android.useAndroidX: وقتی رویtrueتنظیم شود، افزونه اندروید به جای یک کتابخانه پشتیبانی، از کتابخانه AndroidX مناسب استفاده میکند. وقتی این پرچم مشخص نشده باشد، افزونه به طور پیشفرض آن را رویfalseتنظیم میکند.android.enableJetifier: وقتی رویtrueتنظیم شود، افزونه اندروید به طور خودکار کتابخانههای شخص ثالث موجود را با بازنویسی فایلهای باینری آنها برای استفاده از AndroidX مهاجرت میدهد. وقتی این پرچم مشخص نشده باشد، افزونه به طور پیشفرض آن را رویfalseتنظیم میکند. میتوانید این پرچم را فقط در صورتی رویtrueتنظیم کنید کهandroid.useAndroidXنیز رویtrueتنظیم شده باشد، در غیر این صورت با خطای ساخت مواجه میشوید.برای کسب اطلاعات بیشتر، مرور کلی AndroidX را مطالعه کنید.
فشردهساز کد جدید، R8: R8 ابزاری جدید برای فشردهسازی و مبهمسازی کد است که جایگزین ProGuard میشود. میتوانید با وارد کردن موارد زیر در فایل
gradle.propertiesپروژه خود، استفاده از نسخه پیشنمایش R8 را شروع کنید:android.enableR8 = true
android.enableR8 = true
تغییرات رفتاری
اکنون به طور پیشفرض، قندزدایی با D8 فعال است.
AAPT2 اکنون در مخزن Maven گوگل قرار دارد. برای استفاده از AAPT2، مطمئن شوید که وابستگی
google()را در فایلbuild.gradleخود دارید، همانطور که در زیر نشان داده شده است:buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
اکنون multidex بومی به طور پیشفرض فعال است. نسخههای قبلی اندروید استودیو، multidex بومی را هنگام استقرار نسخه اشکالزدایی یک برنامه در دستگاهی که API اندروید سطح ۲۱ یا بالاتر را اجرا میکند، فعال میکردند. اکنون، چه در حال استقرار در یک دستگاه باشید و چه در حال ساخت یک APK برای انتشار، افزونه Android Gradle multidex بومی را برای همه ماژولهایی که
minSdkVersion=21یا بالاتر را تنظیم میکنند، فعال میکند.این افزونه اکنون حداقل نسخه افزونه protobuf (0.8.6)، افزونه Kotlin (1.2.50) و افزونه Crashlytics (1.25.4) را الزامی میکند.
افزونه ماژول ویژگی،
com.android.feature، اکنون هنگام تعیین نام ماژول، استفاده از حروف، ارقام و زیرخط را اجباری میکند. برای مثال، اگر نام ماژول ویژگی شما شامل خط تیره باشد، با خطای ساخت مواجه میشوید. این رفتار با افزونه ویژگی پویا مطابقت دارد.
رفع اشکالات
- JavaCompile اکنون در پروژههایی که دارای اتصال داده هستند، قابل ذخیره سازی (cache) است. ( شماره شماره ۶۹۲۴۳۰۵۰ )
- جلوگیری از کامپایل بهتر برای ماژولهای کتابخانهای با اتصال داده. ( شماره ۷۷۵۳۹۹۳۲ )
- اگر در نسخههای قبلی به دلیل برخی خطاهای ساخت غیرقابل پیشبینی ، پیکربندی بر اساس تقاضا را غیرفعال کرده بودید، اکنون میتوانید آن را دوباره فعال کنید. ( شماره ۷۷۹۱۰۷۲۷ )