Android Gradle Plugin 8.7.0 (অক্টোবর, ২০২৪)

Android Gradle প্লাগ-ইন 8.7.0 হল একটি প্রধান রিলিজ যাতে বিভিন্ন ধরনের নতুন ফিচার ও উন্নতি অন্তর্ভুক্ত রয়েছে।

মানানসই

Android Gradle প্লাগ-ইন 8.7-এ কাজ করে এমন সর্বাধিক API লেভেল হল API লেভেল 35। এখানে অন্যান্য কম্প্যাটিবিলিটি সংক্রান্ত তথ্য দেওয়া হল:

সর্বনিম্ন ভার্সন ডিফল্ট ভার্সন নোট
"Gradle" ৮.৯ ৮.৯ "আরও জানতে, Gradle আপডেট করা দেখুন।"
SDK বিল্ড টুল 34.0.0 34.0.0 SDK বিল্ড টুল ইনস্টল বা কনফিগার করুন।
NDK N/A 27.0.12077973 "NDK-এর অন্য একটি ভার্সন ইনস্টল বা কনফিগার করুন।"
JDK 17 17 "আরও জানতে, JDK ভার্সন সেট করা দেখুন।"

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

Android Gradle প্লাগ-ইন 8.7.0-alpha08 থেকে শুরু করে, Gradle ব্যবহার করে লিন্ট চালানোর সময় LintError হলে, লিন্ট বিশ্লেষণ টাস্ক একটি ব্যতিক্রম থ্রো করে। এই পরিবর্তন বিল্ড ক্যাশেতে বিরল সমস্যা ক্যাশে করা আটকায়।

দুর্ভাগ্যবশত, এই পরিবর্তনটি তাদের লিন্ট বেসলাইন ফাইলে আসল LintError ইনস্ট্যান্স সহ প্রোজেক্টের জন্য বিল্ড ভেঙে দেয়। সমস্যার মেসেজে কোন লিন্ট চেক সমস্যা সৃষ্টি করছে সেই সম্পর্কে তথ্য থাকে। কিছু ক্ষেত্রে, সংশ্লিষ্ট লাইব্রেরি ডিপেন্ডেন্সি আপডেট করলে সমস্যার সমাধান হতে পারে। তা না হলে, লাইব্রেরির লেখক সমস্যাটি সমাধান না করা পর্যন্ত আপনি সমস্যাযুক্ত লিন্ট চেক বন্ধ করতে পারেন।

সমাধান করা সমস্যা

Android Gradle প্লাগ-ইন 8.7.3

সমাধান করা সমস্যা
Lint
লিন্ট চালানোর সময় অনেক মিসিং অ্যানালিসিস API মেথড সংক্রান্ত সতর্কতা
False positive lint check android.permission.SCHEDULE_EXACT_ALARM is only granted to system apps

Android Gradle প্লাগ-ইন 8.7.2

সমাধান করা সমস্যা
Lint
AGP 8.7.0 - Lint False Positive RestrictedApi on NavOptionsBuilder.popUpTo
Shrinker (R8)
[R8 8.6.27] Method implementation replaced with `throw null`
R8-এর বর্তমান ভার্সনের সাথে ব্যবহার করা হলে ডিফল্ট Android Proguard ফাইল একটি সতর্কতা দেখায়
মেসেজটি খুব বড় হলে, MissingStartupProfileItemsDiagnostic, আউট-অফ-মেমরি সমস্যার কারণে Gradle ক্লায়েন্ট ক্র্যাশ করে

Android Gradle প্লাগ-ইন 8.7.1

সমাধান করা সমস্যা
Android Gradle প্লাগ-ইন
agp docs have a lot of TBD
Lint
AGP 8.6.1: রিগ্রেশন - Kotlin-এ @LongDef-এর মধ্যে [Int].toLong() ব্যবহার করার সময় WrongConstant লিন্ট ব্যর্থতা
http বা https ইনটেন্ট-ফিল্টার স্কিম সেট করার সময় "অন্তত একটি হোস্ট নির্দিষ্ট করতে হবে" লিন্ট সংক্রান্ত সমস্যা

Android Gradle প্লাগ-ইন 8.7.0

সমাধান করা সমস্যা
Android Gradle প্লাগ-ইন
AGP-কে দাবি করতে হবে যে এটি API 35-এ কাজ করে যা শীঘ্রই শিপ করা হবে
AGP 8.5: আরও অনেক "mergeDebugResources" টাস্ক রান করা হয়, যা বিল্ডের গতি কমিয়ে দেয়
ndk 27-কে AGP-তে ডিফল্ট NDK হিসেবে সেট করুন।
AGP-কে দাবি করতে হবে যে এটি API 35-এ কাজ করে যা শীঘ্রই শিপ করা হবে
AGP-কে দাবি করতে হবে যে এটি API 35-এ কাজ করে যা শীঘ্রই শিপ করা হবে
NoSuchFileException-এর কারণে Android লিন্ট রান করা যায়নি
BuildType#initWith পোস্টপ্রসেসিং ব্লক কপি করে কিন্তু proguard কনফিগারেশন প্রয়োগ করা হয় না
foregroundServiceType ট্যাগের জন্য মার্জ করা যাবে না
NoSuchFileException-এর কারণে Android লিন্ট রান করা যায়নি
Lint
ViewGroup হিসেবে ব্যবহার করা ভুল অবজেক্টের জন্য Lint-এর চেক করা উচিত
URI-এর জন্য "android:host উপলভ্য নেই" যার হোস্টের মান শূন্য
8.7.0-alpha04-এ KtAnalysisSessionProvider-এর সাথে লিন্ট চেক করার সময় অসামঞ্জস্যতা দেখা গেছে
Kotlin-এর সাথে PackageManager.ResolveInfoFlags.of ব্যবহার করার সময় "ফলস পজিটিভ" WrongConstant