افزونه اندروید برای Gradle، ویرایش 1.5.0 (نوامبر 2015)
- وابستگی ها:
- نکات کلی:
- پلاگین Data Binding را در افزونه اندروید Gradle ادغام کرد. برای فعال کردن آن، کد زیر را به هر فایل
build.gradle
هر پروژه که از این افزونه استفاده میکند اضافه کنید: - یک Transform API جدید اضافه کرد تا به افزونه های شخص ثالث اجازه دهد تا فایل های کامپایل شده
.class
را قبل از تبدیل به فایل های.dex
دستکاری کنند. Transform API تزریق دستکاری کلاس سفارشی را ساده می کند و در عین حال انعطاف پذیری بیشتری را در مورد آنچه می توانید دستکاری کنید ارائه می دهد. برای درج یک تبدیل در یک ساخت، یک کلاس جدید ایجاد کنید که یکی از رابط هایTransform
پیاده سازی می کند و آن را باandroid.registerTransform(theTransform)
یاandroid.registerTransform(theTransform, dependencies)
ثبت کنید. نیازی به سیم کشی وظایف با هم نیست. در مورد Transform API به نکات زیر توجه کنید: - یک تبدیل می تواند برای یک یا چند مورد زیر اعمال شود: پروژه فعلی، پروژه های فرعی و کتابخانه های خارجی.
- یک تبدیل باید به صورت جهانی ثبت شود، که آنها را برای همه انواع اعمال می کند.
- پردازش کد داخلی، از طریق کتابخانه پوشش کد جاوا (JaCoCo)، ProGuard و MultiDex، اکنون از Transform API استفاده می کند. با این حال، کیت کامپایلر اندروید جاوا (جک) از این API استفاده نمی کند: فقط مسیر کد
javac/dx
استفاده می کند. - Gradle تبدیل ها را به ترتیب اجرا می کند: JaCoCo، پلاگین های شخص ثالث، ProGuard. ترتیب اجرای پلاگین های شخص ثالث با ترتیب اضافه شدن تبدیل ها توسط افزونه های شخص ثالث مطابقت دارد. توسعه دهندگان پلاگین شخص ثالث نمی توانند ترتیب اجرای تبدیل ها را از طریق یک API کنترل کنند.
- گیرنده
dex
از کلاسApplicationVariant
منسوخ شد. دیگر نمیتوانید از طریق API نوع دیگری به وظیفهDex
دسترسی پیدا کنید زیرا اکنون از طریق تبدیل انجام میشود. در حال حاضر هیچ جایگزینی برای کنترل فرآیند dex وجود ندارد. - پشتیبانی افزایشی ثابت برای دارایی ها.
- با در دسترس قرار دادن آن برای پروژه های آزمایشی، پشتیبانی از MultiDex بهبود یافته است، و آزمایش ها اکنون به طور خودکار وابستگی
com.android.support:multidex-instrumentation
را دارند. - قابلیت شکست درست یک ساخت Gradle و گزارش علت خطای اساسی زمانی که ساخت Gradle وظایف ناهمزمان را فراخوانی میکند و در فرآیند کارگر شکست میخورد، اضافه شد.
- اضافه شدن پشتیبانی برای پیکربندی یک رابط باینری برنامه (ABI) در انواعی که حاوی چندین ABI هستند.
- هنگام نصب یا اجرای آزمایشها، پشتیبانی از فهرست شماره سریال دستگاههای جدا شده با کاما برای متغیر محیطی
ANDROID_SERIAL
اضافه شد. - هنگامی که نام APK حاوی یک فاصله باشد، مشکل نصب در دستگاههای دارای Android نسخه 5.0 (سطح API 20) و بالاتر برطرف شد.
- رفع مشکلات مختلف مربوط به خروجی خطای ابزار بسته بندی دارایی Android (AAPT).
- پشتیبانی از ابزار دقیق JaCoCo برای ساختهای افزایشی سریعتر اضافه شد. افزونه اندروید برای Gradle اکنون به طور مستقیم ابزار JaCoCo را فراخوانی می کند. برای اجبار یک نسخه جدیدتر از ابزار JaCoCo، باید آن را به عنوان وابستگی اسکریپت ساخت اضافه کنید.
- پشتیبانی JaCoCo را برطرف کرد، بنابراین فایلهایی را که کلاس نیستند نادیده میگیرد.
- پشتیبانی قابل ترسیم برداری برای تولید PNG در زمان ساخت برای سازگاری با عقب اضافه شده است. پلاگین اندروید برای Gradle برای هر بردار قابل ترسیم موجود در فهرست منابعی که نسخه API را مشخص نمی کند یا ویژگی
android:minSdkVersion
20 یا کمتر را در عنصر<uses-sdk>
در مانیفست برنامه مشخص می کند، PNG تولید می کند. میتوانید چگالی PNG را با استفاده از ویژگیgeneratedDensities
در بخشdefaultConfig
یاproductFlavor
یک فایلbuild.gradle
تنظیم کنید. - اشتراکگذاری mockable
android.jar
اضافه شد که افزونه فقط یک بار آن را تولید میکند و برای آزمایش واحد استفاده میکند. چندین ماژول، مانندapp
وlib
، اکنون آن را به اشتراک میگذارند.$rootDir/build
حذف کنید تا دوباره تولید شود. - پردازش منابع جاوا را تغییر داد تا قبل از انجام وظایف مبهمسازی بهجای بستهبندی APK انجام شود. این تغییر به وظایف مبهم سازی فرصتی برای تطبیق منابع جاوا پس از مبهم سازی بسته ها می دهد.
- مشکل استفاده از کد Java Native Interface (JNI) در افزونه کتابخانه آزمایشی برطرف شد.
- قابلیت تنظیم نسخه پلتفرم جدا از ویژگی
android:compileSdkVersion
در افزونه کتابخانه آزمایشی اضافه شده است.
android { dataBinding { enabled = true } }
android { dataBinding { enabled = true } }
- پلاگین Data Binding را در افزونه اندروید Gradle ادغام کرد. برای فعال کردن آن، کد زیر را به هر فایل
حداقل نسخه | نسخه پیش فرض | یادداشت ها | |
---|---|---|---|
گریدل | 2.2.1 | 2.2.1 | برای کسب اطلاعات بیشتر، به روز رسانی Gradle را ببینید. |
ابزارهای ساخت SDK | 21.1.1 | 21.1.1 | ابزارهای ساخت SDK را نصب یا پیکربندی کنید . |