پلاگین Android Gradle 3.2.0 (سپتامبر 2018)

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

حداقل نسخه نسخه پیش فرض یادداشت ها
گریدل 4.6 4.6 برای کسب اطلاعات بیشتر، به روز رسانی Gradle را ببینید.
ابزارهای ساخت SDK 28.0.3 28.0.3 ابزارهای ساخت SDK را نصب یا پیکربندی کنید .

3.2.1 (اکتبر 2018)

با این به روز رسانی، دیگر نیازی به تعیین نسخه ای برای ابزار ساخت SDK ندارید. پلاگین اندروید Gradle اکنون به طور پیش فرض از نسخه 28.0.3 استفاده می کند.

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

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

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

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

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

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

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

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

            android.enableR8 = true
            
            android.enableR8 = true
            

تغییر رفتار

  • Desgaring با 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 بومی اکنون به طور پیش فرض فعال است. نسخه‌های قبلی Android Studio هنگام استقرار نسخه اشکال‌زدایی یک برنامه در دستگاهی که دارای Android API سطح 21 یا بالاتر است، multidex بومی را فعال می‌کرد. اکنون، چه در حال استقرار در یک دستگاه یا ساختن یک APK برای انتشار باشید، افزونه Android Gradle Multidex بومی را برای همه ماژول‌هایی که minSdkVersion=21 یا بالاتر را تنظیم می‌کنند، فعال می‌کند.

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

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

رفع اشکال

  • JavaCompile اکنون در پروژه هایی با اتصال داده قابل کش است. ( شماره 69243050 )
  • اجتناب از کامپایل بهتر برای ماژول های کتابخانه با اتصال داده ها. ( شماره 77539932 )
  • اگر در نسخه های قبلی به دلیل برخی از خطاهای ساخت غیر قابل پیش بینی آن را غیرفعال کرده اید، اکنون می توانید پیکربندی بر اساس تقاضا را مجدداً فعال کنید. ( شماره 77910727 )