অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৯.২.০ (এপ্রিল ২০২৬)
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৯.২ একটি ছোটখাটো রিলিজ, যাতে বিভিন্ন নতুন ফিচার ও উন্নতি অন্তর্ভুক্ত করা হয়েছে।
সামঞ্জস্যতা
অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৯.২ সর্বোচ্চ যে এপিআই লেভেলটি সমর্থন করে তা হলো এপিআই লেভেল ৩৬.১। অন্যান্য সামঞ্জস্যতার তথ্য নিচে দেওয়া হলো:
AGP 9.2.0-alpha07-এ HTML ড্যাশবোর্ড তৈরির জন্য নতুন টাস্ক যুক্ত করা হয়েছে, যা বিভিন্ন ধরনের টেস্ট (ইউনিট ও ইন্সট্রুমেন্টেশন), মডিউল এবং বিল্ড ভ্যারিয়েন্ট থেকে টেস্টের ফলাফল ও কভারেজ একত্রিত করে একটি একক ড্যাশবোর্ডে একটি পূর্ণাঙ্গ চিত্র প্রদান করে। আরও তথ্যের জন্য, ‘ইউনিফাইড কোড কভারেজ রিপোর্ট তৈরি করুন’ এবং ‘ইউনিফাইড টেস্ট রিপোর্ট দেখুন’ দেখুন ।
R8 পরিবর্তন
AGP 9.2.0-তে নিম্নলিখিত R8 পরিবর্তনগুলি অন্তর্ভুক্ত করা হয়েছে।
রানটাইমে অদৃশ্য অ্যানোটেশন রাখার জন্য আরও কঠোর -keepattributes সিম্যান্টিকস
রানটাইমে অদৃশ্য অ্যানোটেশনগুলো রানটাইমে পড়া যায় না। তাই D8 নিঃশর্তভাবে রানটাইমে অদৃশ্য অ্যানোটেশনগুলো মুছে ফেলে, এবং এটি পরিবর্তন করার কোনো বিকল্প নেই।
ProGuard-এর সাথে সামঞ্জস্যের জন্য, R8 রানটাইমে অদৃশ্য অ্যানোটেশন আউটপুট করা সমর্থন করে। কিন্তু DEX-এ কম্পাইল করার সময়, রানটাইমে অদৃশ্য অ্যানোটেশন সাধারণত কখনোই রাখা উচিত নয়। তবে, R8-এ রানটাইমে দৃশ্যমান অ্যানোটেশন রাখার জন্য সুবিধাজনক নিয়ম -keepattributes *Annotation* (সরাসরি অথবা কনজিউমার কিপ রুল থেকে পরোক্ষভাবে) অন্তর্ভুক্ত করা একটি প্রচলিত অভ্যাস। দুর্ভাগ্যবশত, এর ফলে রানটাইমে অদৃশ্য অ্যানোটেশনগুলোও থেকে যায়।
এই সমস্যাটি সমাধান করতে এবং D8-এর আচরণের সাথে আরও ভালোভাবে মেলানোর জন্য, ওয়াইল্ডকার্ডসহ -keepattributes প্যাটার্নগুলো এখন আর RuntimeInvisibleAnnotations , RuntimeInvisibleParameterAnnotations , এবং RuntimeInvisibleTypeAnnotations সাথে মেলে না। ফলে, রানটাইম ইনভিজিবল অ্যানোটেশনগুলো কেবল তখনই রাখা হবে, যখন অ্যাট্রিবিউটের নামটি ওয়াইল্ডকার্ড ছাড়া স্পষ্টভাবে উল্লেখ করা হবে।
নিম্নলিখিত নিয়মগুলির কোনোটিই এখন রানটাইমে অদৃশ্য অ্যানোটেশনগুলি রাখবে না:
কনফিগারেশন ভাষাটি প্রসারিত করা হয়েছে, যার ফলে এখন আপনি নেগেটেড মেম্বার নেম প্যাটার্নের সাথেও ম্যাচ করতে পারবেন।
উদাহরণস্বরূপ, যেসব মেথডের শেষে "ForTesting" নেই, সেগুলোকে মেলানোর জন্য নিম্নলিখিত নিয়মটি ব্যবহার করুন:
-keepclassmembers class com.example.MyClass {
*** !*ForTesting(...);
}
-if নিয়মের পূর্বশর্তে মেম্বার নেম প্যাটার্নকেও নেগেট করা যেতে পারে। যদি কোনো নেগেট করা মেম্বার নেম প্যাটার্নে ওয়াইল্ডকার্ড থাকে, তবে সেই ওয়াইল্ডকার্ডগুলোকে -if কনসিকোয়েন্ট নিয়মে ব্যাক-রেফারেন্স করা যাবে না।
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2026-04-26 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2026-04-26 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[]]