افزایه Android Gradle 3.2.0 (سپتامبر ۲۰۱۸)

این نسخه افزایه Android به موارد زیر نیاز دارد:

حداقل نسخه نسخه پیش‌فرض یادداشت‌ها
Gradle ۴.۶ ۴.۶ برای کسب اطلاعات بیشتر، به‌روزرسانی Gradle را ببینید.
ابزارهای ساخت کیت توسعه نرم‌افزار ‫۲۸.۰.۳ ‫۲۸.۰.۳ «ابزارهای ساخت کیت توسعه نرم‌افزار» را نصب یا پیکربندی کنید.

‫۳.۲.۱ (اکتبر ۲۰۱۸)

با این به‌روزرسانی، دیگر نیازی نیست نسخه‌ای برای «ابزارهای ساخت کیت توسعه نرم‌افزار» مشخص کنید. افزایه Android Gradle اکنون به‌طور پیش‌فرض از نسخه 28.0.3 استفاده می‌کند.

ویژگی‌های جدید

  • پشتیبانی از ساختن «بسته‌های برنامه Android»: بسته برنامه قالب بارگذاری جدیدی است که شامل همه کدها و منابع ترجمه‌شده برنامه شما می‌شود و تولید و امضای فایل APK را به «فروشگاه Google Play» واگذار می‌کند. دیگر لازم نیست چندین فایل APK بسازید، امضا کنید، و مدیریت کنید، و کاربران بارگیری‌های کوچک‌تری دریافت می‌کنند که برای دستگاهشان بهینه‌سازی شده است. برای کسب اطلاعات بیشتر، درباره Android App Bundles را بخوانید.

  • پشتیبانی از سرعت‌های ساخت افزایشی بهبودیافته هنگام استفاده از پردازنده‌های گزارمان: زبان مدل‌سازی AnnotationProcessorOptions اکنون CommandLineArgumentProvider را گسترش می‌دهد، که به شما یا نویسنده پردازنده گزارمان امکان می‌دهد بااستفاده از گزارمان‌های نوع دارایی ساخت افزایشی، برای پردازنده گزارمان آرگومان‌گذاری کنید. استفاده از این گزارمان‌ها صحت و عملکرد ساخت‌های پاکسازی‌شده افزایشی و ذخیره‌شده در حافظه نهان را بهبود می‌بخشد. برای کسب اطلاعات بیشتر، انتقال آرگومان‌ها به پردازشگرهای حاشیه‌نویسی را بخوانید.

  • ابزار انتقال برای AndroidX: هنگام استفاده از افزایه Android Gradle نسخه ۳.۲.۰ با Android نسخه ۳.۲ و بالاتر، می‌توانید وابستگی‌های محلی و Maven پروژه‌تان را با انتخاب Refactor (بازسازی) > Migrate to AndroidX (انتقال به AndroidX) از نوار منو به کتابخانه‌های جدید AndroidX منتقل کنید. استفاده از این ابزار انتقال همچنین پرچم‌های زیر را در فایل gradle.properties شما روی true تنظیم می‌کند:

    • android.useAndroidX: وقتی روی true تنظیم شود، افزایه Android به‌جای «کتابخانه پشتیبانی» از کتابخانه AndroidX مناسب استفاده می‌کند. وقتی این پرچم مشخص نشده باشد، افزایه آن را به‌طور پیش‌فرض روی false تنظیم می‌کند.

    • android.enableJetifier: وقتی روی true تنظیم شود، افزایه Android به‌طور خودکار کتابخانه‌های طرف سوم موجود را به AndroidX منتقل می‌کند و با بازنویسی باینری‌های آن‌ها از AndroidX استفاده می‌کند. وقتی این پرچم مشخص نشده باشد، افزایه آن را به‌طور پیش‌فرض روی false تنظیم می‌کند. فقط زمانی می‌توانید این پرچم را روی true تنظیم کنید که android.useAndroidX نیز روی true تنظیم شده باشد، درغیراین‌صورت خطای ساخت دریافت می‌کنید.

      برای کسب اطلاعات بیشتر، نمای کلی AndroidX را بخوانید.

  • کوچک‌کننده کد جدید، R8: R8 ابزار جدیدی برای کوچک کردن و مبهم‌سازی کد است که جایگزین ProGuard می‌شود. با افزودن موارد زیر به فایل gradle.properties پروژه خود می‌توانید استفاده از نسخه پیش‌نمایش R8 را شروع کنید:

            android.enableR8 = true
            
            android.enableR8 = true
            

تغییرات رفتار

  • «جداسازی قند» با D8 اکنون به‌طور پیش‌فرض فعال است.

  • ‫AAPT2 اکنون در مخزن Maven متعلق به Google است. برای استفاده از 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()
                }
              
  • ‫Native multidex اکنون به‌طور پیش‌فرض فعال است. نسخه‌های قبلی Android وقتی نسخه اشکال‌زدایی برنامه در دستگاهی با سطح API‏ Android 21 یا بالاتر مستقر می‌شد، Studio از multidex بومی فعال‌شده پشتیبانی می‌کرد. اکنون، چه درحال استقرار در دستگاه باشید و چه درحال ساختن فایل APK برای انتشار، افزایه Android Gradle امکان استفاده از multidex بومی را برای همه واحدهایی که minSdkVersion=21 یا بالاتر را تنظیم کرده‌اند فراهم می‌کند.

  • اکنون افزایه حداقل نسخه افزایه protobuf (0.8.6)، افزایه Kotlin (1.2.50)، و افزایه Crashlytics (1.25.4) را اعمال می‌کند.

  • افزایه واحد ویژگی، com.android.feature، اکنون استفاده از فقط حروف، ارقام، و زیرخط را هنگام مشخص کردن نام واحد اجباری می‌کند. برای مثال، اگر نام واحد ویژگی شما شامل خط تیره باشد، خطای ساخت دریافت می‌کنید. این رفتار با رفتار افزایه ویژگی پویای مطابقت دارد.

رفع اشکال‌ها