অ্যান্ড্রয়েড গ্রেডল প্লাগইন 8.3.0 (ফেব্রুয়ারি 2024)

অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৮.৩.০ একটি প্রধান রিলিজ, যাতে বিভিন্ন নতুন ফিচার ও উন্নতি অন্তর্ভুক্ত করা হয়েছে।

সামঞ্জস্যতা

অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৮.৩ সর্বোচ্চ যে এপিআই লেভেলটি সমর্থন করে তা হলো এপিআই লেভেল ৩৪। অন্যান্য সামঞ্জস্যতার তথ্য নিচে দেওয়া হলো:

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

অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৮.৩-এর নতুন বৈশিষ্ট্যগুলো নিচে দেওয়া হলো।

প্যাচ রিলিজ

নিচে অ্যান্ড্রয়েড স্টুডিও ইগুয়ানা এবং অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৮.৩-এর প্যাচ রিলিজগুলোর তালিকা দেওয়া হলো।

অ্যান্ড্রয়েড স্টুডিও ইগুয়ানা | ২০২৩.২.১ প্যাচ ২ এবং এজিপি ৮.৩.২ (এপ্রিল ২০২৪)

এই ছোট আপডেটটিতে নিম্নলিখিত বাগগুলো সংশোধন করা হয়েছে।

অ্যান্ড্রয়েড স্টুডিও ইগুয়ানা | ২০২৩.২.১ প্যাচ ১ এবং এজিপি ৮.৩.১ (মার্চ ২০২৪)

এই ছোট আপডেটটিতে নিম্নলিখিত বাগগুলো সংশোধন করা হয়েছে।

গ্রেডল সংস্করণ ক্যাটালগের জন্য সমর্থন

অ্যান্ড্রয়েড স্টুডিও TOML-ভিত্তিক গ্রেডল ভার্সন ক্যাটালগ সমর্থন করে, যা এমন একটি ফিচার যার মাধ্যমে আপনি একটি কেন্দ্রীয় স্থানে ডিপেন্ডেন্সিগুলো পরিচালনা করতে এবং বিভিন্ন মডিউল বা প্রজেক্টের মধ্যে সেগুলো শেয়ার করতে পারেন। অ্যান্ড্রয়েড স্টুডিও এখন এডিটর সাজেশন এবং প্রজেক্ট স্ট্রাকচার ডায়ালগের সাথে ইন্টিগ্রেশনের মাধ্যমে ভার্সন ক্যাটালগ কনফিগার করা আরও সহজ করে তুলেছে। গ্রেডল ভার্সন ক্যাটালগ কীভাবে সেট আপ ও কনফিগার করবেন অথবা আপনার বিল্ডকে ভার্সন ক্যাটালগে কীভাবে মাইগ্রেট করবেন , তা জানুন।

কোড সম্পূর্ণকরণ এবং নেভিগেশন

আপনি যখন TOML ফাইল ফরম্যাটে কোনো ভার্সন ক্যাটালগ সম্পাদনা করেন বা কোনো বিল্ড ফাইলে ভার্সন ক্যাটালগ থেকে কোনো ডিপেন্ডেন্সি যোগ করেন, তখন অ্যান্ড্রয়েড স্টুডিও কোড কমপ্লিশনের সুবিধা দেয়। কোড কমপ্লিশন ব্যবহার করতে, Ctrl+Space (macOS-এ Command+Space ) চাপুন। এছাড়াও, Ctrl+b (macOS-এ Command+b ) চেপে আপনি আপনার অ্যাপের build.gradle ফাইলে থাকা কোনো ডিপেন্ডেন্সি রেফারেন্স থেকে ভার্সন ক্যাটালগে সেটির ডিক্লেয়ার করা স্থানে দ্রুত নেভিগেট করতে পারেন।

ডিপেন্ডেন্সি যোগ করার সময় কোড কমপ্লিশন

প্রজেক্ট স্ট্রাকচার ডায়ালগের সাথে ইন্টিগ্রেশন

আপনার প্রজেক্ট যদি TOML ফাইল ফরম্যাটে সংজ্ঞায়িত একটি ভার্সন ক্যাটালগ ব্যবহার করে, তাহলে আপনি অ্যান্ড্রয়েড স্টুডিওতে প্রজেক্ট স্ট্রাকচার ডায়ালগের ভ্যারিয়েবলস ভিউ ( ফাইল > প্রজেক্ট স্ট্রাকচার > ভ্যারিয়েবলস ) থেকে সেখানে সংজ্ঞায়িত ভ্যারিয়েবলগুলো সম্পাদনা করতে পারেন। প্রতিটি ভার্সন ক্যাটালগের জন্য একটি ড্রপ-ডাউন মেনু থাকে, যেখানে সেই ক্যাটালগের ভ্যারিয়েবলগুলোর তালিকা দেখা যায়। কোনো ভ্যারিয়েবল সম্পাদনা করতে, সেটির মানের উপর ক্লিক করে সেটিকে ওভাররাইট করুন। আপনি যখন এই পরিবর্তনগুলো সেভ করবেন, তখন TOML ফাইলটি সেই অনুযায়ী আপডেট হয়ে যাবে।

প্রজেক্ট স্ট্রাকচার ডায়ালগে ভার্সন ক্যাটালগ থেকে ভেরিয়েবল

আপনি প্রজেক্ট স্ট্রাকচার ডায়ালগের ডিপেন্ডেন্সি ভিউতেও ( ফাইল > প্রজেক্ট স্ট্রাকচার > ডিপেন্ডেন্সি ) ডিপেন্ডেন্সি আপডেট করতে পারেন। প্রজেক্ট স্ট্রাকচার ডায়ালগ ব্যবহার করে ভার্সন আপডেট করতে, আপনি যে মডিউল এবং ডিপেন্ডেন্সিটি এডিট করতে চান সেখানে যান এবং তারপরে রিকোয়েস্টেড ভার্সন ফিল্ডটি আপডেট করুন। আপনি যখন এই পরিবর্তনগুলি সেভ করবেন, তখন TOML ফাইলটি সেই অনুযায়ী আপডেট হয়ে যাবে। মনে রাখবেন যে, যদি ডিপেন্ডেন্সি ভার্সনটি কোনো ভ্যারিয়েবল ব্যবহার করে সংজ্ঞায়িত করা হয়ে থাকে, তবে সরাসরি এভাবে ভার্সন আপডেট করলে ভ্যারিয়েবলটি একটি হার্ডকোডেড ভ্যালু দ্বারা প্রতিস্থাপিত হয়ে যায়। আরও মনে রাখবেন যে, আপনি প্রজেক্ট স্ট্রাকচার ডায়ালগ ব্যবহার করুন বা না করুন, একটি বিল্ড ফাইল থেকে কোনো ডিপেন্ডেন্সি সরিয়ে ফেললে তা ভার্সন ক্যাটালগ থেকে মুছে যায় না।

প্রজেক্ট স্ট্রাকচার ডায়ালগে একটি ভার্সন ক্যাটালগ থেকে নির্ভরতা

জ্ঞাত সমস্যা এবং সীমাবদ্ধতা

অ্যান্ড্রয়েড স্টুডিওতে গ্রেডল ভার্সন ক্যাটালগ সমর্থনের ক্ষেত্রে নিম্নলিখিতগুলি জ্ঞাত সমস্যা বা সীমাবদ্ধতা রয়েছে।

  • কোটলিন স্ক্রিপ্ট ফাইলে প্লাগইন অ্যালিয়াস ডিক্লারেশন হাইলাইট করার ক্ষেত্রে ত্রুটি: যখন আপনি alias(libs.plugins.example) ফর্মের একটি প্লাগইন ডিক্লারেশন যোগ করেন, তখন এডিটর libs অংশের নিচে একটি লাল আন্ডারলাইন যোগ করে। এটি গ্রেডল ভার্সন ৮.০ এবং তার নিচের ভার্সনগুলোর একটি পরিচিত সমস্যা এবং গ্রেডলের ভবিষ্যৎ কোনো রিলিজে এর সমাধান করা হবে।

  • অ্যান্ড্রয়েড স্টুডিও শুধুমাত্র TOML ফরম্যাটের ভার্সন ক্যাটালগ সমর্থন করে: বর্তমানে অ্যান্ড্রয়েড স্টুডিওর কোড কমপ্লিশন, নেভিগেশন এবং প্রজেক্ট স্ট্রাকচার ডায়ালগ শুধুমাত্র TOML ফাইল ফরম্যাটে সংজ্ঞায়িত ভার্সন ক্যাটালগগুলোর জন্যই উপলব্ধ। তবে, আপনি এখনও সরাসরি settings.gradle ফাইলে একটি ভার্সন ক্যাটালগ যোগ করতে পারেন এবং আপনার প্রজেক্টে এর ডিপেন্ডেন্সিগুলো ব্যবহার করতে পারেন।

  • KTS বিল্ড ফাইলের জন্য নেভিগেশন সমর্থিত নয়: কোটলিন স্ক্রিপ্ট ব্যবহার করে লেখা বিল্ড ফাইলের ক্ষেত্রে, ভার্সন ক্যাটালগে কোনো ডিপেন্ডেন্সি ডেফিনিশনে যাওয়ার জন্য কন্ট্রোল + ক্লিক (macOS-এ কমান্ড + ক্লিক) এখনও সমর্থিত নয়।

  • ফায়ারবেস অ্যাসিস্ট্যান্ট ভার্সন ক্যাটালগের মাধ্যমে যোগ না করে, সরাসরি আপনার বিল্ড স্ক্রিপ্টে ডিপেন্ডেন্সি যোগ করে।

  • "ব্যবহার খুঁজুন" কার্যকারিতা সমর্থিত নয়: একটি ভার্সন ক্যাটালগ ভেরিয়েবলের ব্যবহার অন্যান্য বিল্ড ফাইলে খোঁজা এখনও সমর্থিত নয়, বিল্ড ফাইলটি KTS বা Groovy-তে তৈরি হোক না কেন। অর্থাৎ, একটি ভার্সন ক্যাটালগে থাকা কোনো ভেরিয়েবলের সংজ্ঞার উপর Control + ক্লিক (macOS-এ Command + ক্লিক) করলে সেই বিল্ড ফাইলগুলোতে নিয়ে যায় না যেখানে ভেরিয়েবলটি ব্যবহৃত হয়েছে।

  • অ্যান্ড্রয়েড স্টুডিওর প্রজেক্ট স্ট্রাকচার ডায়ালগ একাধিক ক্যাটালগ ফাইল দেখায় যদি সেগুলি রুট gradle ফোল্ডারে থাকে, কিন্তু কম্পোজিট বিল্ডের জন্য ক্যাটালগ দেখায় না। উদাহরণস্বরূপ, যদি আপনার দুটি ক্যাটালগ ফাইল থাকে—একটি আপনার অ্যাপের জন্য এবং অন্যটি কম্পোজিট বিল্ডের জন্য—তাহলে প্রজেক্ট স্ট্রাকচার ডায়ালগটি শুধুমাত্র অ্যাপের ক্যাটালগ ফাইলটি দেখাবে। আপনি একটি কম্পোজিট বিল্ড ব্যবহার করতে পারেন, কিন্তু তার TOML ফাইলটি আপনাকে সরাসরি এডিট করতে হবে।

অতিরিক্ত SDK অন্তর্দৃষ্টি: নীতিগত সমস্যা

Google Play SDK Index- এ থাকা পাবলিক SDK-গুলোর প্লে পলিসি লঙ্ঘনের জন্য Android Studio build.gradle.ktsbuild.gradle ফাইলগুলিতে এবং প্রজেক্ট স্ট্রাকচার ডায়ালগে লিন্ট ওয়ার্নিং প্রদর্শন করে। আপনার উচিত প্লে পলিসি লঙ্ঘনকারী যেকোনো ডিপেন্ডেন্সি আপডেট করা, কারণ এই লঙ্ঘনগুলো ভবিষ্যতে আপনাকে Google Play Console-এ পাবলিশ করা থেকে বিরত রাখতে পারে। এই পলিসি লঙ্ঘনের সতর্কতাগুলো Android Studio দ্বারা প্রদর্শিত পুরোনো ভার্সনের সতর্কতাগুলোর পরিপূরক হিসেবে কাজ করে।

অ্যান্ড্রয়েড স্টুডিও কম্পাইলএসডিকে সংস্করণ সমর্থন

আপনার প্রজেক্টে ব্যবহৃত compileSdk যদি অ্যান্ড্রয়েড স্টুডিওর বর্তমান সংস্করণ দ্বারা সমর্থিত না হয়, তাহলে এটি একটি সতর্কবার্তা প্রদর্শন করে। সম্ভব হলে, এটি অ্যান্ড্রয়েড স্টুডিওর এমন একটি সংস্করণে আপগ্রেড করার পরামর্শও দেয় যা আপনার প্রজেক্টে ব্যবহৃত compileSdk সমর্থন করে। মনে রাখবেন যে, অ্যান্ড্রয়েড স্টুডিও আপগ্রেড করার জন্য আপনার এজিপি (AGP)-ও আপগ্রেড করার প্রয়োজন হতে পারে । আপনার প্রজেক্টে ব্যবহৃত compileSdk যদি এজিপির বর্তমান সংস্করণ দ্বারা সমর্থিত না হয়, তাহলে এজিপি তার বিল্ড টুল উইন্ডোতেও একটি সতর্কবার্তা প্রদর্শন করে।

লিন্ট আচরণের পরিবর্তন

অ্যান্ড্রয়েড গ্রেডল প্লাগইন 8.3.0-alpha02 থেকে শুরু করে, কোনো মডিউলে লিন্ট (lint) চালানোর সময়, মডিউলটির মেইন (main) এবং টেস্ট (test) কম্পোনেন্টের জন্য আলাদা লিন্ট অ্যানালাইসিস টাস্ক চালানো হয়। এই পরিবর্তনের কারণ হলো পারফরম্যান্স উন্নত করা। আগের আচরণে ফিরে যেতে, আপনার gradle.properties ফাইলে android.experimental.lint.analysisPerComponent=false সেট করুন।

ডিফল্টরূপে সুনির্দিষ্ট সম্পদ সংকোচন চালু থাকে

সুনির্দিষ্ট রিসোর্স সংকোচন, যা resources.arsc ফাইল থেকে অব্যবহৃত এন্ট্রিগুলো সরিয়ে দেয় এবং অব্যবহৃত রিসোর্স ফাইলগুলো নির্মূল করে, তা ডিফল্টরূপে চালু থাকে। যখন এই সংকোচন সক্রিয় করা হয়, তখন আপনার রিসোর্স টেবিলটি ছোট হয়ে যায় এবং শুধুমাত্র রেফারেন্সকৃত res ফোল্ডারের এন্ট্রিগুলোই APK-তে অন্তর্ভুক্ত হয়।

সুনির্দিষ্ট রিসোর্স সঙ্কুচিতকরণ বন্ধ করতে, আপনার প্রোজেক্টের gradle.properties ফাইলে android.enableNewResourceShrinker.preciseShrinking এর মান false সেট করুন।

সমাধান করা সমস্যাগুলি

অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৮.৩.২

সমাধান করা সমস্যাগুলি
অ্যান্ড্রয়েড গ্রেডল প্লাগইন
ডিসুগারিং সক্রিয় থাকলে AGP 8.3-এ ডেডলক হতে পারে।
AGP 8.3 zipApksFor টাস্কটি অকার্যকর করে দেয়।
লিন্ট ইন্টিগ্রেশন
Lint একটি KMP নির্ভরতার দ্ব্যর্থতা নিরসন করতে অক্ষম

অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৮.৩.১

সমাধান করা সমস্যাগুলি
অ্যান্ড্রয়েড গ্রেডল প্লাগইন
MergeJavaResourcesTask-এর ক্রমবর্ধমান ইনপুট পরিচালনার সমস্যা
লিন্ট ইন্টিগ্রেশন
AGP 8.3.0-rc02-এ Lint একই পক্ষের সোর্স সেটের টাইপগুলি সমাধান করতে পারছে না।

অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৮.৩.০

সমাধান করা সমস্যাগুলি
অ্যান্ড্রয়েড গ্রেডল প্লাগইন
PackageForUnitTest টাস্কের জন্য বিল্ড ক্যাশে অপ্রয়োজনীয়।
[AGP 8.1.0] যদি splits.abi.isEnable এবং testOptions.unitTests.isIncludeAndroidResources উভয়ই true হয়, তাহলে ./gradlew test "Unable to find manifest output" ত্রুটির সাথে ব্যর্থ হয়।
নেস্টেড গ্রেডল কম্পোজিট বিল্ডের ক্ষেত্রে এজিপি মডেল তৈরি করা ব্যর্থ হয়।
রিসোর্স শ্রিংকার রিসোর্স আইডিগুলোকে বিকৃত করে, যার ফলে রানটাইম ক্র্যাশ হয়।
দ্বিতীয় বিল্ড এবং তার পরে ন্যূনতম গ্রেডল সংস্করণ যাচাই চলে না।
AGP 8.0.2 থেকে 8.1.0-এ আপডেট করার পর ':app:mergeReleaseClasses' টাস্কটি সম্পাদন করা ব্যর্থ হয়েছে।
[Gradle 8.4][upgrade] কোটলিন গ্রেডল প্লাগইনে অপ্রচলিত বৈশিষ্ট্য ব্যবহারের কারণে আপগ্রেডের পরে ইন্টিগ্রেশন টেস্ট ব্যর্থ হয়েছে।
কনফিগারেশন পর্যায়ে ম্যানিফেস্ট ওভারলে ফাইলের অস্তিত্ব যাচাই করবেন না।
MergeJavaResWorkAction ত্রুটি সংক্রান্ত Gradle ডকুমেন্টেশনের লিঙ্কটি অকার্যকর।
.gradle/.android/analytics.settings-এর কারণে Gradle 8.1 কনফিগারেশন ক্যাশিং ভেঙে দেয়।
ProjectComponentIdentifier.build ছাড়া AGP-এর ProjectComponentIdentifier.projectPath ব্যবহার করা উচিত নয়।
অনুগ্রহ করে AGP "Analytics other plugin to proto: ..."-এর জন্য তথ্য-স্তরের লগিং হ্রাস করুন/সরিয়ে দিন।
[Gradle 8.4][upgrade] ProcessJavaResTask-এ কনফিগারেশন চলাকালীন ফাইল অপারেশন কনফিগারেশন ক্যাশিং ভেঙে দেয়
প্রতীক সারণী (R.txt) পাওয়ার জন্য ভ্যারিয়েন্ট এপিআই
লিন্ট স্বতন্ত্র প্লাগইন gradleApi() নির্ভরতা সঠিকভাবে পরিচালনা করে না।
AGP ক্লাস/প্রপার্টি বিষয়ে kDocs-এর জ্ঞান খুবই দুর্বল। `VariantOutput.enable`-কে `VariantOutput.enable` দিয়ে প্রতিস্থাপন করার পরামর্শ দেওয়া হয়েছে।
AGP 8.3.0-alpha02 উইন্ডোজ হোস্টে রিলিজ প্রোফাইল ইনস্টল করতে পারে না
`android.enableDexingArtifactTransform=true` প্রয়োগ করুন।
[Gradle 8.4][upgrade] কনফিগারেশন পর্যায়ে ফাইল হ্যান্ডলিংয়ের কারণে আপগ্রেডের পর ইন্টিগ্রেশন টেস্ট ব্যর্থ হয়েছে
AGP 8.3.0-alpha-02 - `ত্রুটি: ক্যাশ করা রিসোর্স রিপোজিটরি ডিসিরিয়ালাইজ করতে ব্যর্থ হয়েছে।`
[Gradle 8.4][upgrade] TestLabBuildService-এর কনফিগারেশন পর্যায়ে ফাইল হ্যান্ডলিংয়ের কারণে আপগ্রেডের পর ইন্টিগ্রেশন টেস্ট ব্যর্থ হয়েছে।
ইন্সট্রুমেন্টেড টেস্ট চালানোর পর AGP 8.1.0 অ্যাপটি আনইনস্টল করে দেয় – 7.4.2 তা করে না।
একটি APK রূপান্তর করার ফলে ListingFileRedirectTask-এ একটি ত্রুটি দেখা দেয়।
ASSETS আর্টিফ্যাক্ট রূপান্তর করলে ত্রুটিপূর্ণ ইনপুট/আউটপুট অবস্থান পাওয়া যায়।
android.experimental.r8.dex-startup-optimization=true-কে ডিফল্ট হিসেবে উন্নীত করুন।
নতুন গ্রেডল কনফিগারেশন অ্যালাইনমেন্ট এপিআই-তে স্থানান্তরিত করুন
কোটলিন কম্পাইলার যখন IDEA 21.3-এ আপডেট করার চেষ্টা করে, তখন রিসোর্স কম্পাইলেশন ব্যর্থ হয়।
আর্টিফ্যাক্টস এপিআই ব্যবহার করে রিঅ্যাক্টিভ get()
'android.lint.printStackTrace' AGP প্রপার্টিটিকে স্থিতিশীল স্তরে উন্নীত করুন।
AGP 8.1.0: ডাইনামিক ফিচার: exportReleaseConsumerProguardFiles এবং extractProguardFiles-এর মধ্যেকার অব্যক্ত নির্ভরতার কারণে কম্পাইলেশন ত্রুটি ঘটে।
`variant.unitTest.jniLibs.addGeneratedSourceDirectory` কোনো কাজ করে বলে মনে হয় না।
Gradle 8.4-এর সাথে সামঞ্জস্যপূর্ণ করার জন্য AGP-তে ব্যবহৃত XML পার্সার আপডেট করুন।
AGP 8.0.1 রিলিজ প্যাকেজ jacoco ইন্সট্রুমেন্ট কার্যকর হচ্ছে না।
হেজহগ রিগ্রেশন: রান বাটন কয়েক সেকেন্ড দেরিতে কাজ করছে (স্পেক তৈরি হচ্ছে)
AGP 8.3.0-alpha11 যে রিলিজ APK তৈরি করে, তা android.content.res.Resources$NotFoundException ত্রুটির কারণে চালু হওয়ার সময় ক্র্যাশ করে।
'android.lint.printStackTrace' AGP প্রপার্টিটিকে স্থিতিশীল স্তরে উন্নীত করুন।
ফিচার অনুরোধ: com.android.build.api.extension.impl.CURRENT_AGP_VERSION-কে একটি পাবলিক API-তে উন্নীত করা।
এসডিকে ম্যানেজারের উচিত stdout-এ লগ তথ্যের অতিরিক্ত পাঠানো বন্ধ করা।
শুধুমাত্র রিসোর্স লাইব্রেরি মডিউলের কারণে DexArchiveBuilderTaskDelegate ব্যর্থ হয়েছে।
AGP7.4 কাস্টম প্লাগইন ভ্যারিয়েন্ট toTransform সবগুলোর জন্য ডুপ্লিকেট এন্ট্রি: META-INF/MANIFEST.MF এক্সেপশন থ্রো করে।
নতুন ম্যানিফেস্ট ট্যাগ সমর্থন করুন,
স্টুডিও সেটিংসে 'ডিকাপলড প্রোজেক্টস'-এর লিঙ্কটি ভুল জায়গায় নিয়ে যায়।
Javadoc এবং SourceJar-এ জেনারেট করা সোর্স অন্তর্ভুক্ত করার জন্য বিকল্প প্রদান করুন।
minCompileSdkVersion-এর সাথে compileSdk এবং dependency-র মধ্যকার অসামঞ্জস্যের জন্য দ্রুত সমাধান প্রয়োজন।
[Gradle] tools:overrideLibrary-তে অ্যাস্টারিস্ক (*) সমর্থন থাকা উচিত।
ম্যানিফেস্ট সম্পাদনা করার সময় UI ফ্রিজ হয়ে যায়
AGP 8.2.0-এ JaCoCo সংস্করণ সেট করা সম্ভব নয়।
যে প্রজেক্টে ডাইনামিক ফিচার ব্যবহার করা হয়, সেখানে অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৮.২.০ ইনস্টল টাস্ক ব্যর্থ হয়।
যে প্রজেক্টে ডাইনামিক ফিচার ব্যবহার করা হয়, সেখানে অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৮.২.০ ইনস্টল টাস্ক ব্যর্থ হয়।
ডেক্সার (ডি৮)
[desugared লাইব্রেরি] Desugared লাইব্রেরি সংস্করণ 2.1, R8-এর পূর্ববর্তী সংস্করণগুলির সাথে সামঞ্জস্যপূর্ণ নয়।
শুধু D8 দিয়েই কি অপ্টিমাইজেশন চলছে?
লিন্ট
[Lint] TranslucentViewDetector-এর filterIncident ফাংশনে ক্র্যাশ করার ফলে লিন্ট ভুল ফলাফল দেয়।
TranslucentViewDetector-কে 'behind' মান গ্রহণ করা উচিত।
`property 'variantInputs.name' doesn't have a configured value` এই ত্রুটির কারণে একটি KMP লাইব্রেরিতে Android Lint ব্যর্থ হয়।
TranslucentViewDetector ম্যানিফেস্টে ভুল লাইন রিপোর্ট করছে
প্রজেক্ট ডিপেন্ডেন্সি ব্যবহার করার সময় lintDebug ভুলভাবে UseTomlInstead ওয়ার্নিং রিপোর্ট করে।
অ্যান্ড্রয়েড লিন্ট দ্বারা অন্য একটি প্রজেক্ট থেকে অপ্রত্যাশিত সমস্যা চিহ্নিত করা হয়েছে।
বাইন্ডিং এবং ক্লিক লিসেনারের ভিতরে LINT চেকের মাধ্যমে অব্যবহৃত রিসোর্সের ফলস পজিটিভ সনাক্তকরণ।
কাস্টম লিন্ট চেক জার ফাইল লোড করা যায়নি: নোডকে ট্রি-নোডে রূপান্তর করা যাচ্ছে না।
ভেরিয়েবল ডিক্লারেশনে অ্যানোটেড ক্লাসের ব্যবহারের জন্য Lint visitAnnotationUsage কল করা হয়নি
Lint 31.0.2 ব্যর্থ হয়েছে কারণ java.util.NoSuchElementException: অ্যারেটি খালি।
kotlin.text.MatchNamedGroupCollection#get(String) এর জন্য API 26 প্রয়োজন হওয়ায় কোনো Lint সতর্কতা নেই।
lint:TypographyQuotes-এর ফলস নেগেটিভ: একাধিক এস্কেপড অ্যাপস্ট্রফি উপেক্ষা করা হয়।
AGP 8.0.2 লিন্ট InvalidId ডিটেক্টর ফলস পজিটিভ
লিন্ট বেসলাইনে LintError সমস্যাগুলো যোগ করা হয়েছে
কুইকফিক্স লিন্ট কাজ করে না এবং এর ফলে একটি IDE ত্রুটি দেখা দেয়।
আংশিক বিশ্লেষণের কারণে অসঙ্গত পরীক্ষার ব্যর্থতা
একটি ফলস পজিটিভ সতর্কবার্তার অবৈধ হাইলাইট।
ভেরিয়েবল ডিক্লারেশনে অ্যানোটেড ক্লাসের ব্যবহারের জন্য Lint visitAnnotationUsage কল করা হয়নি
অব্যবহৃত রিসোর্স প্রসেসর গ্রেডল বিল্ড ফাইল মুছে ফেলতে পারে
NewApi লিন্ট চেক "isAtleastU() && otherCondition()" ফাইনাল ফিল্ডটি বুঝতে পারছে না।
`LintClient.getSdkHome` থেকে StackOverflow
অ্যান্ড্রয়েড স্টুডিও / লিন্ট আপনাকে জানায় না কখন "প্ল্যাটফর্ম" নির্ভরতাগুলো পুরোনো হয়ে গেছে।
ত্রুটি: Firebase-bom নির্ভরতা আপডেট করার কোনো পরামর্শ নেই
প্রজেক্ট স্ট্রাকচার (এবং গ্রেডল (?)) ফায়ারবেস BOM ডিপেন্ডেন্সিগুলোকে নতুন সংস্করণে আপগ্রেড করার জন্য খুঁজে পাচ্ছে না।
লিন্ট ইন্টিগ্রেশন
testImplementation ডিপেন্ডেন্সি থেকে DuplicatePlatformClasses লিন্ট এরর
সঙ্কোচনকারী (R8)
AGP 8.0.2 থেকে 8.1.0-তে আপগ্রেড করার পর R8 কাজ করছে না।
8.3.0-alpha11 থেকে alpha14 সংস্করণে isShrinkResources অতিরিক্ত অপ্টিমাইজ করে।
AGP 8.2.0 এর সাথে R8 Flurry SDK ক্র্যাশ করে।
অ্যান্ড্রয়েড - R8 এর কারণে LinearLayoutManager এর সাবক্লাস ক্র্যাশ করে।
R8 v8.2.33, "java.lang.VerifyError: Bad type on operand stack" আপগ্রেডের পর রানটাইম ক্র্যাশ।
[R8 8.3.21] R8 8.3.21, R8 8.1.56-এর চেয়ে 1.57MB বড়।
[R8 8.3.21] R8 8.3.21, R8 8.1.56-এর চেয়ে 1.57MB বড়।
class.getInterfaces() খালি রিটার্ন করে
kotlin_dev বটে SimpleKotlinEnumUnboxingTest পরীক্ষাটি ব্যর্থ হয়।