Android Gradle Plugin 7.2.0 (মে ২০২২)
Android Gradle প্লাগ-ইন 7.2.0 হল একটি মেজর রিলিজ যাতে বিভিন্ন ধরনের নতুন ফিচার ও উন্নতি অন্তর্ভুক্ত রয়েছে।
এই মাইনর আপডেটটি Android Studio Chipmunk প্যাচ ২-এর রিলিজের সাথে সম্পর্কিত এবং এতে নিম্নলিখিত সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:
- সমস্যা #232438924: ASM API-এর সাথে ব্যবহার করা হলে AndroidGradlePlugin ভার্সন 7.2, ট্রান্সফর্ম API কাজ করে না
- সমস্যা #231037948: AGP 7.2.0-rc01 :buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
এই মাইনর আপডেটটি Android Studio Chipmunk প্যাচ ১-এর রিলিজের সাথে সম্পর্কিত এবং এতে নিম্নলিখিত সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:
- সমস্যা #230361284: bundletool বেসলাইন প্রোফাইল সঠিকভাবে প্যাকেজ করে না
এই রিলিজে অন্তর্ভুক্ত অন্যান্য বাগ ফিক্স দেখতে, Android Studio Chipmunk Patch 1 রিলিজ নোট দেখুন।
মানানসই
| ন্যূনতম ভার্সন | ডিফল্ট ভার্সন | নোট | |
|---|---|---|---|
| Gradle | ৭.৩.৩ | ৭.৩.৩ | আরও জানতে, Gradle আপডেট করা দেখুন। |
| SDK Build Tools | ৩০.০.৩ | ৩০.০.৩ | SDK বিল্ড টুল ইনস্টল বা কনফিগার করুন। |
| NDK | N/A | 21.4.7075529 | NDK-এর অন্য কোনও ভার্সন ইনস্টল বা কনফিগার করুন। |
| JDK | 11 | 11 | আরও জানতে, JDK ভার্সন সেট করা দেখুন। |
বিল্ড অ্যানালাইজারে Jetifier সংক্রান্ত সতর্কতা ও চেক
আপনার প্রজেক্টের
gradle.properties ফাইলে
android.enableJetifier=true থাকলে, Build Analyzer এখন একটি সতর্কতা দেখায়। যেসব লাইব্রেরি নেটিভ AndroidX-এ কাজ করে না সেগুলির জন্য AndroidX চালু করতে
Android Studio-র আগের ভার্সনে এই ফ্ল্যাগ যোগ করা হয়েছে।
তবে, লাইব্রেরি ইকোসিস্টেম বেশিরভাগ ক্ষেত্রেই
AndroidX-এ নেটিভভাবে কাজ করে এবং আপনার প্রোজেক্টে সম্ভবত আর Jetifier ফ্ল্যাগ
প্রয়োজন নেই। এছাড়াও, ফ্ল্যাগ ব্যবহার করলে বিল্ড পারফর্ম্যান্সের গতি কমে যেতে পারে। আপনি এই সতর্কতা দেখতে পেলে, ফ্ল্যাগটি সরানো যাবে কিনা তা কনফার্ম করতে, Build Analyzer-এর মধ্যে একটি চেক রান করতে পারেন।
টেস্ট ফিক্সচারের জন্য সহায়তা
Android Studio Chipmunk Beta 1 থেকে শুরু করে, Android Studio-তে Android এবং Java, দুটি টেস্ট ফিক্সচারই কাজ করে। টেস্ট ফিক্সচার ফিচার এবং Java প্রোজেক্টে এটি কীভাবে ব্যবহার করতে হয় সেই সম্পর্কে আরও জানতে, টেস্ট ফিক্সচার ব্যবহার করা{:.external} সম্পর্কিত Gradle-এর গাইড দেখুন।
আপনার Android লাইব্রেরি মডিউলে টেস্ট ফিক্সচার চালু করতে, আপনার লাইব্রেরি-লেভেল build.gradle ফাইলে
নিম্নলিখিত যোগ করুন:
android {
testFixtures {
enable true
// enable testFixtures's android resources (disabled by default)
// androidResources true
}
}
ডিফল্ট হিসেবে, আপনার লাইব্রেরি প্রকাশ করার সাথে সাথে মূল লাইব্রেরির সাথে
টেস্ট ফিক্সচার AAR-ও প্রকাশ করা হয়। Gradle মডিউল মেটাডেটা ফাইলে Gradle-এর জন্য তথ্য থাকবে, যাতে
testFixtures কম্পোনেন্ট অনুরোধ করার সময় Gradle সঠিক আর্টিফ্যাক্ট
ব্যবহার করতে পারে।
রিলিজ ভেরিয়েন্টে কোনও লাইব্রেরির টেস্ট ফিক্সচার AAR প্রকাশ করা বন্ধ করতে,
আপনার লাইব্রেরি-লেভেল build.gradle ফাইলে নিম্নলিখিত কোড যোগ করুন:
afterEvaluate {
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseApiPublication) { skip() }
components.release.withVariantsFromConfiguration(
configurations.releaseTestFixturesVariantReleaseRuntimePublication) { skip() }
}
প্রকাশিত Android লাইব্রেরির টেস্ট ফিক্সচার AAR ব্যবহার করতে, আপনি
Gradle-এর হেল্পার পদ্ধতি testFixtures() ব্যবহার করতে পারেন।
dependencies {
testImplementation testFixtures('com.example.company:publishedLib:1.0')
}
ডিফল্ট হিসেবে, লিন্ট টেস্ট ফিক্সচার সোর্স বিশ্লেষণ করবে। আপনি নিম্নলিখিত উপায়ে টেস্ট ফিক্সচার সোর্স উপেক্ষা করার জন্য লিন্ট কনফিগার করতে পারেন:
android {
lint {
ignoreTestFixturesSources true
}
}
ডুপ্লিকেট কন্টেন্ট রুট কাজ করে না
AGP 7.2 থেকে শুরু করে, আপনি আর একাধিক সোর্স সেট জুড়ে একই সোর্স ডিরেক্টরি শেয়ার করতে পারবেন না। যেমন, আপনি ইউনিট টেস্ট ও ইন্সট্রুমেন্টেশন টেস্ট, দুটির জন্যই একই টেস্ট সোর্স ব্যবহার করতে পারবেন না। আরও জানতে, ডিফল্ট সোর্স সেট কনফিগারেশন পরিবর্তন করুন।