অ্যান্ড্রয়েড গ্রেডল প্লাগইন 7.2.0 (মে 2022)

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

7.2.2 (আগস্ট 2022)

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

  • ইস্যু #232438924 : ASM API এর সাথে ব্যবহার করার সময় AndroidGradlePlugin সংস্করণ 7.2 রূপান্তর API ব্রেক করে
  • ইস্যু #231037948 : AGP 7.2.0-rc01 :buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
7.2.1 (মে 2022)

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

  • ইস্যু #230361284 : বান্ডলেটুল সঠিকভাবে বেসলাইন প্রোফাইল প্যাকেজ করে না

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

সামঞ্জস্য

ন্যূনতম সংস্করণ ডিফল্ট সংস্করণ নোট
গ্রেডল 7.3.3 7.3.3 আরও জানতে, Gradle আপডেট করা দেখুন।
SDK বিল্ড টুলস 30.0.3 30.0.3 SDK বিল্ড টুল ইনস্টল বা কনফিগার করুন
এনডিকে N/A 21.4.7075529 NDK এর একটি ভিন্ন সংস্করণ ইনস্টল বা কনফিগার করুন
জেডিকে 11 11 আরও জানতে, JDK সংস্করণ সেট করা দেখুন।

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

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

পরীক্ষার ফিক্সচারের জন্য সমর্থন

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

আপনার অ্যান্ড্রয়েড লাইব্রেরি মডিউলে টেস্ট ফিক্সচার সক্ষম করতে, আপনার লাইব্রেরি-স্তরের 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 দিয়ে শুরু করে, আপনি আর একাধিক সোর্স সেটে একই সোর্স ডিরেক্টরি শেয়ার করতে পারবেন না। উদাহরণস্বরূপ, আপনি ইউনিট পরীক্ষা এবং উপকরণ পরীক্ষা উভয়ের জন্য একই পরীক্ষার উত্স ব্যবহার করতে পারবেন না। আরও জানতে, ডিফল্ট উৎস সেট কনফিগারেশন পরিবর্তন দেখুন।