অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৭.২.০ (মে ২০২২)

অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৭.২.০ একটি প্রধান রিলিজ যাতে বিভিন্ন ধরণের নতুন বৈশিষ্ট্য এবং উন্নতি অন্তর্ভুক্ত রয়েছে।

৭.২.২ (আগস্ট ২০২২)

এই ছোটখাটো আপডেটটি অ্যান্ড্রয়েড স্টুডিও চিপমাঙ্ক প্যাচ ২ এর রিলিজের সাথে সামঞ্জস্যপূর্ণ এবং এতে নিম্নলিখিত বাগ সংশোধনগুলি অন্তর্ভুক্ত রয়েছে:

  • ইস্যু #২৩২৪৩৮৯২৪ : অ্যান্ড্রয়েডগ্র্যাডলপ্লাগইন সংস্করণ ৭.২ ASM API এর সাথে ব্যবহার করলে ট্রান্সফর্ম API ভেঙে দেয়
  • ইস্যু #২৩১০৩৭৯৪৮ : AGP ৭.২.০-rc01 :buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
৭.২.১ (মে ২০২২)

এই ছোটখাটো আপডেটটি অ্যান্ড্রয়েড স্টুডিও চিপমাঙ্ক প্যাচ ১ এর রিলিজের সাথে সামঞ্জস্যপূর্ণ এবং এতে নিম্নলিখিত বাগ সংশোধনগুলি অন্তর্ভুক্ত রয়েছে:

এই রিলিজে অন্তর্ভুক্ত অন্যান্য বাগ সংশোধনগুলি দেখতে, অ্যান্ড্রয়েড স্টুডিও চিপমাঙ্ক প্যাচ ১ রিলিজ নোট দেখুন।

সামঞ্জস্য

সর্বনিম্ন সংস্করণ ডিফল্ট সংস্করণ মন্তব্য
গ্রেডল ৭.৩.৩ ৭.৩.৩ আরও জানতে, Gradle আপডেট করা দেখুন।
SDK বিল্ড টুলস ৩০.০.৩ ৩০.০.৩ SDK বিল্ড টুল ইনস্টল বা কনফিগার করুন
এনডিকে নিষিদ্ধ ২১.৪.৭০৭৫৫২৯ NDK এর একটি ভিন্ন সংস্করণ ইনস্টল বা কনফিগার করুন
জেডিকে ১১ ১১ আরও জানতে, JDK সংস্করণ সেটিং দেখুন।

জেটিফায়ার সতর্কতা এবং বিল্ড অ্যানালাইজার চেক করুন

আপনার প্রোজেক্টের gradle.properties ফাইলে android.enableJetifier=true থাকলে Build Analyzer এখন একটি সতর্কতা প্রদর্শন করে। এই ফ্ল্যাগটি Android Studio-এর পূর্ববর্তী সংস্করণে চালু করা হয়েছিল যাতে AndroidX নেটিভভাবে সমর্থন করে না এমন লাইব্রেরিগুলির জন্য AndroidX সক্ষম করা যায়। তবে, লাইব্রেরি ইকোসিস্টেমটি বেশিরভাগ ক্ষেত্রেই AndroidX নেটিভভাবে সমর্থন করতে স্থানান্তরিত হয়েছে এবং সম্ভবত আপনার প্রোজেক্টের জন্য Jetifier ফ্ল্যাগের আর প্রয়োজন নেই। অতিরিক্তভাবে, ফ্ল্যাগটি ধীর বিল্ড কর্মক্ষমতা তৈরি করতে পারে। আপনি যদি এই সতর্কতাটি দেখতে পান, তাহলে ফ্ল্যাগটি সরানো যাবে কিনা তা নিশ্চিত করার জন্য আপনি Build Analyzer-এর মধ্যে একটি চেক চালাতে পারেন।

পরীক্ষার ফিক্সচারের জন্য সহায়তা

অ্যান্ড্রয়েড স্টুডিও চিপমাঙ্ক বিটা ১ দিয়ে শুরু করে, অ্যান্ড্রয়েড স্টুডিও অ্যান্ড্রয়েড এবং জাভা উভয় পরীক্ষার ফিক্সচার সমর্থন করে। টেস্ট ফিক্সচার বৈশিষ্ট্য এবং জাভা প্রকল্পে এটি কীভাবে ব্যবহার করবেন সে সম্পর্কে আরও তথ্যের জন্য টেস্ট ফিক্সচার {:.external} ব্যবহারের বিষয়ে গ্র্যাডেলের নির্দেশিকা দেখুন।

আপনার অ্যান্ড্রয়েড লাইব্রেরি মডিউলে টেস্ট ফিক্সচার সক্রিয় করতে, আপনার library-level build.gradle ফাইলে নিম্নলিখিতটি যোগ করুন:

android {
  testFixtures {
    enable true
    // enable testFixtures's android resources (disabled by default)
    // androidResources true
  }
}

ডিফল্টরূপে, আপনার লাইব্রেরি প্রকাশ করলে মূল লাইব্রেরির সাথে AAR পরীক্ষার ফিক্সচারও প্রকাশ করা হয়। Gradle মডিউল মেটাডেটা ফাইলে এমন তথ্য থাকবে যাতে Gradle testFixtures কম্পোনেন্টের অনুরোধ করার সময় সঠিক আর্টিফ্যাক্টটি ব্যবহার করতে পারে।

রিলিজ ভেরিয়েন্টে লাইব্রেরির টেস্ট ফিক্সচার AAR প্রকাশনা অক্ষম করতে, আপনার লাইব্রেরি-স্তরের build.gradle ফাইলে নিম্নলিখিতটি যোগ করুন:

afterEvaluate {
  components.release.withVariantsFromConfiguration(
    configurations.releaseTestFixturesVariantReleaseApiPublication) { skip() }
  components.release.withVariantsFromConfiguration(
    configurations.releaseTestFixturesVariantReleaseRuntimePublication) { skip() }
}

প্রকাশিত অ্যান্ড্রয়েড লাইব্রেরির AAR পরীক্ষার ফিক্সচারগুলি ব্যবহার করতে, আপনি Gradle এর সহায়ক পদ্ধতি testFixtures() ব্যবহার করতে পারেন।

dependencies {
  testImplementation testFixtures('com.example.company:publishedLib:1.0')
}

ডিফল্টরূপে, লিন্ট পরীক্ষার ফিক্সচারের উৎস বিশ্লেষণ করবে। আপনি নিম্নরূপ পরীক্ষার ফিক্সচারের উৎস উপেক্ষা করার জন্য লিন্ট কনফিগার করতে পারেন:

android {
  lint {
    ignoreTestFixturesSources true
  }
}

ডুপ্লিকেট কন্টেন্ট রুট সমর্থিত নয়

AGP 7.2 দিয়ে শুরু করে, আপনি আর একাধিক সোর্স সেটে একই সোর্স ডিরেক্টরি শেয়ার করতে পারবেন না। উদাহরণস্বরূপ, আপনি ইউনিট টেস্ট এবং ইন্সট্রুমেন্টেশন টেস্ট উভয়ের জন্য একই টেস্ট সোর্স ব্যবহার করতে পারবেন না। আরও জানতে, ডিফল্ট সোর্স সেট কনফিগারেশন পরিবর্তন করুন দেখুন।