Android Gradle Plugin 8.8.0 (জানুয়ারি, ২০২৫)

Android Gradle Plugin 8.8.0 হল একটি বড় রিলিজ যাতে বিভিন্ন নতুন ফিচার ও উন্নতি অন্তর্ভুক্ত রয়েছে।

মানানসই

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

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

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

Android Gradle প্লাগ-ইন 8.8.2

সমাধান করা সমস্যা
Android Gradle Plugin
ইনিশিয়ালাইজেশন স্ক্রিপ্ট 'C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle' লাইন: ১৬২
Shrinker (R8)
AGP 8.8-এ আপগ্রেড করার পরে Gson proguard ঠিকমতো কাজ করছে না
java.lang.VerifyError: Verifier rejected class
AGP 8.10.0-alpha04-এ অন্তর্ভুক্ত R8 সহ মিনিমাইজ করা হলে Leanback ক্র্যাশ করে

Android Gradle প্লাগ-ইন 8.8.1

সমাধান করা সমস্যা
Dexer (D8)
পরীক্ষা করার জন্য OpenJDK 23 যোগ করুন
Shrinker (R8)
java.lang.AbstractMethodError: Receiver class [...]$$Lambda$[...] does not define or inherit an implementation of the resolved method [...] of interface [...]
DexCallSite রেকর্ড করার সাথে সম্পর্কিত এনকিউয়ারে NPE
R8 8.7.18, job?.cancel কল করার সময় রানটাইম নাল পয়েন্টার ব্যতিক্রম ঘটায়
java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/LazyThreadSafetyMode
Monzo অ্যাপটি ট্রি শেকিংয়ে অত্যধিক সময় নিচ্ছে বলে মনে হচ্ছে
AGP 8.8 ফেল রিলিজ বিল্ড : R8: java.lang.NullPointerException: Cannot read field "b" because the return value of "com.android.tools.r8.internal.BS.a(com.android.tools.r8.internal.cR)" is null`

Android Gradle প্লাগ-ইন 8.8.0

সমাধান করা সমস্যা
Android Gradle Plugin
JacocoTransform-এর জন্য ইনপুট টাইপ হিসেবে @Classpath-কে বিবেচনা করুন
com.android.build.api.variant.GeneratesApk-এর minSdk এক্সপোজ করা উচিত
com.android.settings প্লাগ-ইন targetSdk শনাক্ত করতে পারে না
SourceDirectories.addGeneratedSourceDirectory একাধিক ভেরিয়েন্টের সাথে মানানসই নয়
AGP ন্যূনতম ভার্সন চেকিং বন্ধ করতে ফ্ল্যাগ প্রয়োগ করা
Kotlin কম্পাইলার বিকল্প কনফিগার করার সময় AGP বিভ্রান্তিকর ইন্টার‍্যাকশন করে
AGP-কে com.android.test প্রোজেক্টে টার্গেট প্রোজেক্ট APK-এর জন্য BuiltArtifactLoader এক্সপোজ করতে হবে
[AGP] Lazy SdkComponents.ndkDirectory প্রোভাইডার ভ্যালু তৈরি করতে পারে না, কিন্তু eager android.ndkDirectory API কাজ করে
বিল্ড বিকল্প: নতুন "বিল্ড রান কনফিগারেশন" বিকল্প যোগ করুন এবং এটিকে ডিফল্ট হিসেবে সেট করুন
android.enableBuildConfigAsBytecode=true ব্যবহার করলে ইউনিট টেস্টে BuildConfig সমাধান করা যায় না
বান্ডেল থেকে তৈরি APK-তে প্রাইভেসি স্যান্ডবক্স সংক্রান্ত সহায়তা বিবেচনা করা হয় না
com.android.settings প্লাগ-ইন targetSdk শনাক্ত করতে পারে না
Dexer (D8)
Desugar library 2.1.0, AGP 8.5.2-এর সাথে কাজ করে না
Lint
8.7.0-alpha04-এ চালু করা লিন্ট চেকের সাথে KtAnalysisSessionProvider-এর ইনকম্প্যাটিবিলিটি
Kotlin-এর সাথে PackageManager.ResolveInfoFlags.of ব্যবহার করার সময় "ফলস পজিটিভ" WrongConstant
http বা https ইনটেন্ট-ফিল্টার স্কিম সেট করার সময় "অন্তত একটি হোস্ট নির্দিষ্ট করতে হবে" লিন্ট সংক্রান্ত সমস্যা
UnknownNullness লিন্টের জন্য আরও বেশি ক্ষেত্রে টাইপ-ব্যবহার সংক্রান্ত অ্যানোটেশন হ্যান্ডেল করা
AGP 8.6.1: রিগ্রেশন - Kotlin-এ @LongDef-এর মধ্যে [Int].toLong() ব্যবহার করলে ভুল কনস্ট্যান্ট লিন্ট সংক্রান্ত সমস্যা হয়
AGP 8.7.0 - Lint False Positive RestrictedApi on NavOptionsBuilder.popUpTo
WrongConstant লিন্ট দু'বার দেখা যাচ্ছে
"MonochromeLauncherIcon: Monochrome icon is not defined" warning is not caught by Android Studio
AbstractAnnotationDetector ভুল ওভারলোড করা ফাংশন/কনস্ট্রাক্টর চেক করে
Lint ImportAliasTestMode টপ লেভেল ফাংশনের জন্য ইমপোর্ট অ্যালিয়াস তৈরি করে না
WrongConstant লিন্ট দু'বার দেখা যাচ্ছে
AGP 8.8-এর সাথে নতুন ObsoleteSdkInt লিন্ট সতর্কতা
False positive lint check android.permission.SCHEDULE_EXACT_ALARM is only granted to system apps
Android Studio-তে .hasRoute(Route::class) ব্যবহার করলে K2 মোড RestrictedApi সংক্রান্ত সতর্কতা দেখায়
Lint ইন্টিগ্রেশন
মূল্যায়নের পরে লিন্ট ভ্যারিয়েন্ট টাস্ক খুঁজে পাওয়া যায়নি
ইমপ্লিমেন্টেশন ফাইল সহ AAR ফাইল ইমপোর্ট করার সময় লিন্টিং কাজ করে না