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

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

সামঞ্জস্য

অ্যান্ড্রয়েড গ্রেডল প্লাগইন 8.2 সমর্থন করে সর্বাধিক API স্তর হল API স্তর 34। এখানে অন্যান্য সামঞ্জস্যের তথ্য রয়েছে:

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

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

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

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

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

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

স্থির সমস্যা

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

স্থায়ী সমস্যা
অ্যান্ড্রয়েড গ্রেডল প্লাগইন
কাস্টম সোর্স টাইপের মাল্টি-ফ্লেভার সোর্সসেট তৈরি করা উচিত
SDK সংস্করণ চেক SDK এক্সটেনশন ব্যবহারকারীদের পরিচালনা করে না
DependenciesInfoBuilder এর API আপডেট + ডক প্রয়োজন
জাভা 11 টার্গেট সহ DexingNoClasspathTransform (minSdk >= 24) নেস্ট সদস্যদের অনুপস্থিত থাকার কারণে ব্যর্থ হয়েছে
DslExtension.Builder.extendProjectWith() Groovy-তে বর্ণিত হিসাবে কাজ করছে না
VariantSelector.withFlavor API যোগ করুন যা kotlin.Pair ব্যবহার করে না
AndroidLintAnalysisTask ( :lintAnalyzeExternalRelease) ক্যাশে মিস করেছে কারণ `proguard.txt` পরিবর্তিত হয়েছে
অ্যাপ মার্জড ম্যানিফেস্টে extractNativeLibs রয়েছে এবং নির্ভরতা থেকে EmbeddedDex অ্যাট্রিবিউট ব্যবহার করে
AIDL বিল্ড-টুল 33.0.0 এর সাথে ব্যর্থ হয়
AGP: পাবলিক API হিসাবে AIDL টুল এবং ফ্রেমওয়ার্ক AIDL ফাইলের পথ প্রকাশ করুন
অনুরোধ: IDE কে "PermittedSubclasses এর ASM9 প্রয়োজন" এর জন্য একটি সমাধান অফার করতে দিন
AGP কম্পাইল করার সময় টার্গেট বাইটকোড 17
VariantManager.getModifiedName সরান
AndroidTest.packaging.jniLibs.keepDebugSymbols androidTest প্যাকেজিংকে প্রভাবিত করে না
GMD ইন্সট্রুমেন্টেশন পরীক্ষার কাজগুলি ঝুলে থাকে এবং পুনরায় চেষ্টা করার পরে ব্যর্থ হয়
AGP 8.1.0-এ generateLocaleConfig অ-নির্ধারণমূলক ক্রম ব্যবহার করে, পুনরুত্পাদনযোগ্য বিল্ডগুলি ভেঙে দেয়
ProcessApplicationManifest.navigationJsons-এ পরম পাথ সহ ফাইল রয়েছে
AnalyticsService তৈরি হওয়ার পরে AnalyticsConfiguratorService-এর মাধ্যমে GradleBuildProject.Builder অ্যাক্সেস করা অনুমোদিত নয়
AndroidTest.packaging.jniLibs.keepDebugSymbols androidTest প্যাকেজিংকে প্রভাবিত করে না
অবৈধ রঙের মানগুলির জন্য সংকলন অনুমোদিত৷
ভেরিয়েন্টবিল্ডারের জন্য ভুল "ReplaceWith"
Gradle 8.1 .gradle/.android/analytics.settings এর কারণে কনফিগারেশন ক্যাশিং ব্রেক করে
অবচয় বার্তা `ReplaceWith` ব্যবহার করে না
ডিফল্ট NDK সংস্করণ পেতে একটি উপায় প্রকাশ করুন
Android Gradle প্লাগইন চালানোর জন্য Java 17 প্রয়োজন।
ASM ট্রান্সফর্ম এবং toAppend() অসঙ্গতি
KMP প্রোজেক্টে Gradle এর মাধ্যমে K2 UAST-এর সাথে লিন্ট চালানোর সময় LintErrors ঠিক করুন
ভেরিয়েন্ট লেভেল মিসিং ডাইমেনশন স্ট্র্যাটেজির জন্য সমর্থন, এবং সম্ভবত বিল্ড টাইপ/ফ্লেভার ম্যাচিং ফলব্যাক
Android Studio Giraffe থেকে `android.injected.studio.version` সরানো হয়েছে
AndroidXDependencyCheck নিষ্ক্রিয় করার ক্ষমতা যোগ করুন
AGP 8.1.0-এ generateLocaleConfig অ-নির্ধারণমূলক ক্রম ব্যবহার করে, পুনরুত্পাদনযোগ্য বিল্ডগুলি ভেঙে দেয়
AAR মেটাডেটাতে R8 / D8 সংস্করণের প্রয়োজনীয়তার বিজ্ঞাপন দিন (যেমন coreLibraryDesugaring এবং নতুন API আউট-অফ-লাইনিংয়ের জন্য)
সিঙ্ক সতর্কতা: "AnalyticsService তৈরি হওয়ার পরে GradleBuildProject.Builderকে AnalyticsConfiguratorService এর মাধ্যমে অ্যাক্সেস করা উচিত নয়"
Gradle 8.2 মাইলস্টোন বা RC-তে আপডেট করুন
'java.lang. Comparable' অ্যাক্সেস করা যাবে না
androidResources অ্যান্ড্রয়েড লাইব্রেরি মডিউলে উপলব্ধ নয়
8.0.2 থেকে 8.1.0 থেকে AGP আপডেট করার পরে ':app:mergeReleaseClasses' টাস্কের জন্য সম্পাদন ব্যর্থ হয়েছে
Gradle 8.1 .gradle/.android/analytics.settings এর কারণে কনফিগারেশন ক্যাশিং ব্রেক করে
[AGP 8.1.0] ./gradlew পরীক্ষা ব্যর্থ হয় "মেনিফেস্ট আউটপুট খুঁজে পেতে অক্ষম" যদি উভয় splits.abi.isEnable এবং testOptions.unitTests.isIncludeAndroidResources সত্য হয়
অ্যান্ড্রয়েড স্টুডিও জিরাফ AGP 8.1 এর সাথে সংস্করণকোডওভাররাইডকে সম্মান করে না
AGP 8.1.0 যন্ত্রযুক্ত পরীক্ষা চালানোর পরে অ্যাপ আনইনস্টল করে - 7.4.2 করে না
একটি APK রূপান্তর করা ListingFileRedirectTask এর সাথে একটি ত্রুটির দিকে নিয়ে যায়
হেজহগ রিগ্রেশন: রান বোতামটি কয়েক সেকেন্ডের জন্য বিলম্বিত হয়েছে (বিশেষণ তৈরি করা হচ্ছে)
ডেক্সার (D8)
মিন-এপিআই 34 এবং তার বেশির জন্য ডেক্সিং করার সময় নেটিভ রেকর্ড এবং সিল করা ক্লাসগুলি সক্ষম করুন৷
লিন্ট
তাত্ক্ষণিক লিন্ট চেক AppComponentFactory ভালভাবে পরিচালনা করে না
Lint 8.2.0 alphas এখনও kotlin-এ শীর্ষ-স্তরের ফাংশন আমদানি সমর্থন করে না
লিন্ট বেসলাইনে লাইন এবং কলাম নম্বর অন্তর্ভুক্ত না করার জন্য একটি বিকল্প যোগ করুন
লিন্ট বেসলাইনে লাইন এবং কলাম নম্বর অন্তর্ভুক্ত না করার জন্য একটি বিকল্প যোগ করুন
লিন্ট পরীক্ষা জাভা 17 ভাষা বৈশিষ্ট্য সমর্থন করে না
বাম্বলবি 2021.1.1 প্যাচ 1 বলছে কমন্স-আইও-এর একটি পুরানো সংস্করণ (20030203.000550) 2.11.0 এর থেকে নতুন।
Lint 8.2.0 alphas এখনও kotlin-এ শীর্ষ-স্তরের ফাংশন আমদানি সমর্থন করে না
বাম্বলবি 2021.1.1 প্যাচ 1 বলছে কমন্স-আইও-এর একটি পুরানো সংস্করণ (20030203.000550) 2.11.0 এর থেকে নতুন।
অ্যান্ড্রয়েড স্টুডিও ভুলভাবে নির্দিষ্ট সংস্করণটিকে পুরানো হিসাবে চিহ্নিত করেছে৷
K2 UAST ব্যবহার করার সময় Lint UseValueOf সমস্যাকে উপেক্ষা করে
Android Lint দ্বারা পতাকাঙ্কিত অন্য একটি প্রকল্প থেকে অপ্রত্যাশিত সমস্যা
'variantInputs.name' প্রপার্টি সহ একটি KMP লাইব্রেরিতে অ্যান্ড্রয়েড লিন্ট ব্যর্থ হয় যার কনফিগার করা মান নেই৷
লিন্ট ইন্টিগ্রেশন
টেস্ট ইমপ্লিমেন্টেশন নির্ভরতা থেকে ডুপ্লিকেট প্ল্যাটফর্ম ক্লাস লিন্ট ত্রুটি
সঙ্কুচিত (R8)
java.lang.VerifyError: যাচাইকারী প্রত্যাখ্যান করেছে ক্লাস
Apache POI লাইব্রেরি ব্যবহার করার সময় :minifyReleaseWithR8 এ বিল্ড আটকে যায়
কোটলিন 1.9 এর কারণে নালচেক ছিনতাই করা হলে কোটলিন ল্যাম্বডাস R8 দ্বারা ধ্বংস হয়ে যায়

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

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

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

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