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