افزونه اندروید Gradle نسخه ۳.۲.۰ (سپتامبر ۲۰۱۸)

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

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

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

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

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

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

  • پشتیبانی از سرعت ساخت افزایشی بهبود یافته هنگام استفاده از پردازنده‌های حاشیه‌نویسی: AnnotationProcessorOptions DSL اکنون 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 ، اکنون هنگام تعیین نام ماژول، استفاده از حروف، ارقام و زیرخط را اجباری می‌کند. برای مثال، اگر نام ماژول ویژگی شما شامل خط تیره باشد، با خطای ساخت مواجه می‌شوید. این رفتار با افزونه ویژگی پویا مطابقت دارد.

رفع اشکالات