অ্যান্ড্রয়েড গ্রেডল প্লাগইন 8.2.0 (নভেম্বর 2023)

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

সামঞ্জস্য

Android Gradle plugin 8.2 সর্বোচ্চ 34 API স্তর সমর্থন করে। এখানে অন্যান্য সামঞ্জস্যের তথ্য রয়েছে:

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

JDK পাথ নির্দিষ্ট করার জন্য নতুন ম্যাক্রো

#GRADLE_LOCAL_JAVA_HOME হল একটি নতুন ম্যাক্রো যা আপনি JDK পাথ নির্দিষ্ট করতে ব্যবহার করতে পারেন। এটি আপনার প্রকল্পের জন্য Gradle ডেমন (ব্যাকগ্রাউন্ড প্রক্রিয়া) কার্যকর করার জন্য ব্যবহৃত জাভা হোম পাথ নির্দিষ্ট করা নিরাপদ এবং সহজ করে তোলে। পাথ নির্বাচনটি .gradle/config.properties ফাইলের java.home ক্ষেত্রে সংরক্ষণ করা হয়। Android Studio: File (অথবা macOS-এ Android Studio ) > Settings > Build, Execution, Deployment > Build Tools > Gradle-এ Gradle JDK সেটিংসের মাধ্যমে এই ক্ষেত্রটি সেট করুন।

নতুন প্রকল্পগুলি ডিফল্টরূপে #GRADLE_LOCAL_JAVA_HOME ব্যবহার করবে। সফল সিঙ্কের পরে বিদ্যমান প্রকল্পগুলি স্বয়ংক্রিয়ভাবে নতুন ম্যাক্রোতে স্থানান্তরিত হবে, যদি না আপনি ইতিমধ্যেই #JAVA_HOME এর মতো একটি ম্যাক্রো ব্যবহার করছেন।

নতুন ম্যাক্রোর প্রধান সুবিধাগুলি নিম্নরূপ:

  • আপনার প্রকল্পটি প্রথমে না খুলেই সিঙ্ক ট্রিগার করতে আপনি ম্যানুয়ালি JDK পাথ পরিবর্তন করতে পারেন।
  • আপনার Gradle JDK নির্বাচনের জন্য সত্যের একক উৎস থাকায় অসঙ্গত Gradle এবং প্রকল্প JDK সংস্করণগুলির সাথে সম্পর্কিত ত্রুটি কম।

সমস্যা সমাধান করা হয়েছে

অ্যান্ড্রয়েড গ্রেডল প্লাগইন 8.2.2

সমস্যা সমাধান করা হয়েছে
অ্যান্ড্রয়েড গ্রেডল প্লাগইন
AGP 8.2.0 তে JaCoCo সংস্করণ সেট করা যায়নি
ডেক্সার (D8)
[desugared লাইব্রেরি] Desugared লাইব্রেরি সংস্করণ 2.1 R8 এর পূর্ববর্তী সংস্করণগুলির সাথে সামঞ্জস্যপূর্ণ নয়।
শুধু D8 দিয়েও কি অপ্টিমাইজেশন চলছে?
শ্রিঙ্কার (R8)
[R8 8.3.21] R8 8.3.21, R8 8.1.56 এর চেয়ে 1.57MB বড়।
class.getInterfaces() খালি রিটার্ন করে

অ্যান্ড্রয়েড গ্রেডল প্লাগইন 8.2.1

সমস্যা সমাধান করা হয়েছে
অ্যান্ড্রয়েড গ্রেডল প্লাগইন
সাবপ্রজেক্টের ক্লাসগুলিতে ডেক্সিং টাস্ক চালাবেন না যখন সেগুলি ইতিমধ্যেই আর্টিফ্যাক্ট ট্রান্সফর্মের মাধ্যমে ডেক্স'ড করা থাকে।
JavaVersion.VERSION_11 এবং OpenJDK 21 ea এর সাথে Android Gradle প্লাগইন ব্যর্থ হয়েছে
ডেক্সার (D8)
অ্যান্ড্রয়েড ইউ এর জন্য ডিসুগার রেকর্ডস
শ্রিঙ্কার (R8)
R8 ভাঙা ডেক্স তৈরি করে যার ফলে রানটাইমে ক্লাস কাস্ট ব্যতিক্রম দেখা দেয়
R8 ইন্টারফেসকে অ্যাক্সেসযোগ্য ইন্টারফেসে পরিবর্তনের কারণ করছে
AGP 8.2.0 এর সাথে R8 Flurry SDK ক্র্যাশ
অ্যান্ড্রয়েড - R8 এর ফলে LinearLayoutManager এর সাবক্লাস ক্র্যাশ হয়ে যায়
R8 তে ClassCastException যখন রিপ্যাকেজিং চালু থাকে এবং সঙ্কুচিত হয়, তখন অস্পষ্টতা এবং অপ্টিমাইজেশন বন্ধ থাকে
BridgeAnalyzer.analyzeMethod-এ R8 আটকে আছে
R8 v8.2.33, "java.lang.VerifyError: অপারেন্ড স্ট্যাকে খারাপ টাইপ" আপগ্রেডের পরে রানটাইম ক্র্যাশ

অ্যান্ড্রয়েড গ্রেডল প্লাগইন 8.2.0

সমস্যা সমাধান করা হয়েছে
অ্যান্ড্রয়েড গ্রেডল প্লাগইন
কাস্টম সোর্স টাইপের মাধ্যমে মাল্টি-ফ্লেভার সোর্স সেট তৈরি করা উচিত
SDK সংস্করণ পরীক্ষা SDK এক্সটেনশনের ব্যবহারকারীদের পরিচালনা করে না
DependenciesInfoBuilder-এর API আপডেট + ডক প্রয়োজন
জাভা ১১ টার্গেট সহ DexingNoClasspathTransform (minSdk >= 24) নেস্ট সদস্যদের অনুপস্থিতির কারণে ব্যর্থ হয়েছে
DslExtension.Builder.extendProjectWith() গ্রুভিতে বর্ণিতভাবে কাজ করছে না
Kotlin.Pair ব্যবহার করে না এমন VariantSelector.withFlavor API যোগ করুন
অ্যান্ড্রয়েডলিন্টঅ্যানালাইসিসটাস্ক ( :lintAnalyzeExternalRelease) এর ক্যাশে মিস আছে কারণ `proguard.txt` পরিবর্তিত হয়েছে
অ্যাপ মার্জড ম্যানিফেস্টে নির্ভরতা থেকে extractNativeLibs এবং useEmbeddedDex অ্যাট্রিবিউট রয়েছে
বিল্ড-টুল 33.0.0 এর সাথে AIDL ব্যর্থ হয়েছে
AGP: AIDL টুল এবং ফ্রেমওয়ার্ক AIDL ফাইলের পথ পাবলিক API হিসেবে প্রকাশ করুন
অনুরোধ: IDE কে "PermittedSubclasses requires ASM9" এর জন্য একটি সমাধান অফার করতে দিন।
AGP কম্পাইল করার সময় বাইটকোড 17 টার্গেট করুন
VariantManager.getModifiedName সরান
AndroidTest.packaging.jniLibs.keepDebugSymbols androidTest প্যাকেজিংকে প্রভাবিত করে না
জিএমডি ইন্সট্রুমেন্টেশন পরীক্ষার কাজগুলি স্থগিত থাকে এবং পুনরায় চেষ্টা করার পরে ব্যর্থ হতে শুরু করে।
agp 8.1.0-এ generateLocaleConfig নন-ডিটারমিনিস্টিক অর্ডারিং ব্যবহার করে, পুনরুৎপাদনযোগ্য বিল্ডগুলি ভেঙে দেয়
ProcessApplicationManifest.navigationJsons-এ পরম পাথ সহ ফাইল রয়েছে
AnalyticsService তৈরির পর AnalyticsConfiguratorService এর মাধ্যমে GradleBuildProject.Builder অ্যাক্সেস করার অনুমতি নেই।
AndroidTest.packaging.jniLibs.keepDebugSymbols androidTest প্যাকেজিংকে প্রভাবিত করে না
অবৈধ রঙের মানগুলির জন্য সংকলন অনুমোদিত
VariantBuilder-এর জন্য ভুল "ReplaceWith"
.gradle/.android/analytics.settings এর কারণে Gradle 8.1 কনফিগারেশন ক্যাশিং ভেঙে দেয়
অবচয় বার্তা `ReplaceWith` ব্যবহার করে না
ডিফল্ট NDK সংস্করণ পাওয়ার একটি উপায় প্রকাশ করুন
অ্যান্ড্রয়েড গ্রেডল প্লাগইন চালানোর জন্য জাভা ১৭ প্রয়োজন।
ASM ট্রান্সফর্ম এবং toAppend() অসঙ্গতি
KMP প্রকল্পে Gradle এর মাধ্যমে K2 UAST দিয়ে লিন্ট চালানোর সময় LintErrors ঠিক করুন
ভেরিয়েন্ট লেভেল মিসিং ডাইমেনশন স্ট্র্যাটেজি এবং সম্ভবত বিল্ড টাইপ/ফ্লেভার ম্যাচিং ফলব্যাকের জন্য সমর্থন
অ্যান্ড্রয়েড স্টুডিও জিরাফে `android.injected.studio.version` সরানো হয়েছে
AndroidXDependencyCheck নিষ্ক্রিয় করার ক্ষমতা যোগ করুন
agp 8.1.0-এ generateLocaleConfig নন-ডিটারমিনিস্টিক অর্ডারিং ব্যবহার করে, পুনরুৎপাদনযোগ্য বিল্ডগুলি ভেঙে দেয়
AAR মেটাডেটাতে R8 / D8 সংস্করণের প্রয়োজনীয়তার বিজ্ঞাপন দিন (যেমন coreLibraryDesugaring এবং নতুন API-এর বাইরের লাইনিংয়ের জন্য)
সিঙ্ক সতর্কতা: "AnalyticsService তৈরি হওয়ার পরে GradleBuildProject.Builder কে AnalyticsConfiguratorService এর মাধ্যমে অ্যাক্সেস করা উচিত নয়"
গ্রেডল ৮.২ মাইলস্টোন বা আরসি-তে আপডেট করুন
'java.lang.Comparable' অ্যাক্সেস করা যাচ্ছে না
androidResources অ্যান্ড্রয়েড লাইব্রেরি মডিউলে উপলব্ধ নয়
AGP 8.0.2 থেকে 8.1.0 এ আপডেট করার পরে ':app:mergeReleaseClasses' টাস্কের জন্য কার্যকরকরণ ব্যর্থ হয়েছে।
.gradle/.android/analytics.settings এর কারণে Gradle 8.1 কনফিগারেশন ক্যাশিং ভেঙে দেয়
[AGP 8.1.0] ./gradlew পরীক্ষা "Unable to find manifest output" দিয়ে ব্যর্থ হয় যদি splits.abi.isEnable এবং testOptions.unitTests.isIncludeAndroidResources উভয়ই সত্য হয়
অ্যান্ড্রয়েড স্টুডিও জিরাফ AGP 8.1 এর সাথে কোডওভাররাইড সংস্করণটিকে সম্মান করে না।
ইন্সট্রুমেন্টেড পরীক্ষা চালানোর পরে AGP 8.1.0 অ্যাপ আনইনস্টল করে - 7.4.2 করে না
একটি APK রূপান্তর করলে ListingFileRedirectTask-এ একটি ত্রুটি দেখা দেয়।
হেজহগ রিগ্রেশন: রান বোতামটি কয়েক সেকেন্ড বিলম্বিত হয়েছে (স্পেক তৈরি করা হচ্ছে)
ডেক্সার (D8)
মিন-এপিআই ৩৪ এবং তার উপরে ডেক্সিং করার সময় নেটিভ রেকর্ড এবং সিল করা ক্লাস সক্ষম করুন
লিন্ট
ইনস্ট্যান্টিয়েটেড লিন্ট চেক AppComponentFactory ভালোভাবে পরিচালনা করে না
লিন্ট ৮.২.০ আলফা এখনও কোটলিনে শীর্ষ-স্তরের ফাংশন আমদানি সমর্থন করে না
লিন্ট বেসলাইনে লাইন এবং কলাম নম্বর অন্তর্ভুক্ত না করার জন্য একটি বিকল্প যোগ করুন
লিন্ট বেসলাইনে লাইন এবং কলাম নম্বর অন্তর্ভুক্ত না করার জন্য একটি বিকল্প যোগ করুন
লিন্ট পরীক্ষাগুলি জাভা 17 ভাষার বৈশিষ্ট্যগুলিকে সমর্থন করে না
Bumblebee 2021.1.1 প্যাচ ১ বলছে যে commons-io এর একটি পুরানো সংস্করণ (20030203.000550) 2.11.0 এর চেয়ে নতুন।
লিন্ট ৮.২.০ আলফা এখনও কোটলিনে শীর্ষ-স্তরের ফাংশন আমদানি সমর্থন করে না
Bumblebee 2021.1.1 প্যাচ ১ বলছে যে commons-io এর একটি পুরানো সংস্করণ (20030203.000550) 2.11.0 এর চেয়ে নতুন।
অ্যান্ড্রয়েড স্টুডিও ভুলভাবে নির্দিষ্ট সংস্করণটিকে পুরানো হিসাবে চিহ্নিত করে।
K2 UAST ব্যবহার করার সময় Lint UseValueOf সমস্যাটিকে উপেক্ষা করে
অ্যান্ড্রয়েড লিন্ট দ্বারা চিহ্নিত অন্য একটি প্রকল্প থেকে অপ্রত্যাশিত সমস্যা
``variantInputs.name'' প্রপার্টি সহ একটি KMP লাইব্রেরিতে Android Lint ব্যর্থ হয়েছে যার কোনও কনফিগার করা মান নেই।`
লিন্ট ইন্টিগ্রেশন
টেস্টইমপ্লিমেন্টেশন নির্ভরতা থেকে ডুপ্লিকেট প্ল্যাটফর্ম ক্লাস লিন্ট ত্রুটি
শ্রিঙ্কার (R8)
java.lang.VerifyError: যাচাইকারী প্রত্যাখ্যাত ক্লাস
Apache POI লাইব্রেরি ব্যবহার করার সময় বিল্ড :minifyReleaseWithR8 এ আটকে যায়
যদি নালচেকগুলি বাদ দেওয়া হয়, তাহলে Kotlin 1.9-এর ফলে R8 দ্বারা Kotlin lambdas ধ্বংস হয়ে যায়।