Android Gradle প্লাগ-ইন 8.3.0 হল একটি বড় রিলিজ যাতে বিভিন্ন নতুন ফিচার ও উন্নতি অন্তর্ভুক্ত।
মানানসই
Android Gradle plugin 8.3-এর সাথে কাজ করে এমন সর্বাধিক API লেভেল হল API লেভেল 34. এখানে অন্যান্য কম্প্যাটিবিলিটি সংক্রান্ত তথ্য দেওয়া হল:
| ন্যূনতম ভার্সন | ডিফল্ট ভার্সন | নোট | |
|---|---|---|---|
| Gradle | ৮.৪ | ৮.৪ | আরও জানতে, Gradle আপডেট করা দেখুন। |
| SDK Build Tools | 34.0.0 | 34.0.0 | SDK বিল্ড টুল ইনস্টল বা কনফিগার করুন। |
| NDK | N/A | ২৫.১.৮৯৩৭৩৯৩ | NDK-এর অন্য কোনও ভার্সন ইনস্টল বা কনফিগার করুন। |
| JDK | 17 | 17 | আরও জানতে, JDK ভার্সন সেট করা দেখুন। |
Android Gradle প্লাগ-ইন 8.3-তে নিম্নলিখিত নতুন ফিচার রয়েছে।
প্যাচ রিলিজ
Android Studio Iguana এবং Android Gradle plugin 8.3-এ প্রকাশিত প্যাচ রিলিজের তালিকা নিচে দেওয়া হল।
Android Studio Iguana | 2023.2.1 প্যাচ ২ এবং AGP 8.3.2 (এপ্রিল ২০২৪)
এই মাইনর আপডেটে এইসব সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে।
Android Studio Iguana | 2023.2.1 প্যাচ ১ এবং AGP 8.3.1 (মার্চ ২০২৪)
এই মাইনর আপডেটে এইসব সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে।
Gradle ভার্সন ক্যাটালগের জন্য সহায়তা
Android Studio, TOML-ভিত্তিক Gradle ভার্সন ক্যাটালগ সাপোর্ট করে, এটি এমন একটি ফিচার যা আপনাকে একটি কেন্দ্রীয় লোকেশন থেকে ডিপেন্ডেন্সি ম্যানেজ করতে এবং মডিউল বা প্রজেক্ট জুড়ে ডিপেন্ডেন্সি শেয়ার করতে দেয়। Android Studio এখন এডিটরের সাজেশন ও প্রোজেক্ট স্ট্রাকচার ডায়ালগের সাথে ইন্টিগ্রেশনের মাধ্যমে ভার্সন ক্যাটালগ কনফিগার করা আরও সহজ করে তোলে। কীভাবে Gradle ভার্সন ক্যাটালগ সেট-আপ ও কনফিগার করতে হয় অথবা কীভাবে আপনার বিল্ডকে ভার্সন ক্যাটালগে মাইগ্রেট করতে হয় তা জানুন।
কোড সম্পূর্ণ করা ও নেভিগেশন
আপনি TOML ফাইল ফর্ম্যাটে
কোনও ভার্সন ক্যাটালগ এডিট করলে অথবা কোনও ভার্সন ক্যাটালগ থেকে কোনও বিল্ড
ফাইলে কোনও ডিপেন্ডেন্সি যোগ করলে, Android Studio কোড সম্পূর্ণ করার সুবিধা দেয়। কোড সম্পূর্ণ করার সুবিধা ব্যবহার করতে, Ctrl+Space প্রেস করুন
(macOS-এ Command+Space)। এছাড়াও, আপনি Ctrl+b
(macOS-এ Command+b) প্রেস করে আপনার অ্যাপের build.gradle ফাইলে থাকা
ডিপেন্ডেন্সি রেফারেন্স থেকে ভার্সন ক্যাটালগে যেখানে এটি ঘোষণা করা হয়েছে
সেখানে দ্রুত নেভিগেট করতে পারবেন।

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

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

পরিচিত সমস্যা ও সীমাবদ্ধতা
Android Studio-তে Gradle ভার্সন ক্যাটালগ সাপোর্ট সংক্রান্ত নিম্নলিখিত সমস্যা বা সীমাবদ্ধতাগুলি জানা আছে।
Kotlin স্ক্রিপ্ট ফাইলে প্লাগ-ইন এলিয়াস ঘোষণা হাইলাইট করার সময় সমস্যা: আপনি যখন
alias(libs.plugins.example)ফর্মের একটি প্লাগ-ইন ঘোষণা যোগ করেন, তখন এডিটরlibsঅংশের নিচে একটি লাল আন্ডারলাইন যোগ করে। Gradle ভার্সন ৮.০ ও এর আগের ভার্সনে এই সমস্যাটি দেখা গেছে এবং Gradle-এর ভবিষ্যতের কোনও রিলিজে এটি সমাধান করা হবে।TOML ফর্ম্যাটে ভার্সন ক্যাটালগের জন্য Android Studio সহায়তা: Android Studio কোড সম্পূর্ণ করা, নেভিগেশন ও প্রজেক্ট স্ট্রাকচার ডায়ালগ সংক্রান্ত সহায়তা শুধুমাত্র TOML ফাইল ফর্ম্যাটে সংজ্ঞায়িত ভার্সন ক্যাটালগের জন্য উপলভ্য। তবে, আপনি এখনও সরাসরি
settings.gradleফাইলে একটি ভার্সন ক্যাটালগ যোগ করতে এবং আপনার প্রোজেক্টে এর ডিপেন্ডেন্সি ব্যবহার করতে পারবেন।KTS বিল্ড ফাইলের জন্য নেভিগেশন কাজ করে না: Control+ক্লিক (macOS-এ Command+ক্লিক) ব্যবহার করে ভার্সন ক্যাটালগে ডিপেন্ডেন্সি ডেফিনিশনে নেভিগেট করা এখনও Kotlin স্ক্রিপ্ট ব্যবহার করে লেখা বিল্ড ফাইলের জন্য কাজ করে না।
Firebase Assistant সরাসরি বিল্ড স্ক্রিপ্টে ডিপেন্ডেন্সি যোগ করে: ভার্সন ক্যাটালগের মাধ্যমে না করে Firebase Assistant সরাসরি আপনার বিল্ড স্ক্রিপ্টে ডিপেন্ডেন্সি যোগ করে।
"ব্যবহার খুঁজে দেখুন" ফাংশনালিটি কাজ করে না: বিল্ড ফাইল KTS বা Groovy যাই হোক না কেন, অন্য বিল্ড ফাইলে ভার্সন ক্যাটালগ ভেরিয়েবলের ব্যবহার খুঁজে দেখা এখনও কাজ করে না। অর্থাৎ, কোনও ভার্সন ক্যাটালগে ভেরিয়েবলের ডেফিনিশনে Control+ক্লিক করলে (macOS-এ Command+ক্লিক করলে) সেই বিল্ড ফাইলে নিয়ে যাওয়া হয় না যেখানে ভেরিয়েবলটি ব্যবহার করা হয়েছে।
Android Studio-তে'প্রোজেক্ট স্ট্রাকচার' ডায়ালগ একাধিক ক্যাটালগ ফাইল দেখায় যদি সেগুলি রুট
gradleফোল্ডারে থাকে, কিন্তু কম্পোজিট বিল্ডের ক্যাটালগ দেখায় না। যেমন, আপনার যদি দুটি ক্যাটালগ ফাইল থাকে—একটি আপনার অ্যাপের জন্য এবং একটি কম্পোজিট বিল্ডের জন্য—তাহলে প্রোজেক্ট স্ট্রাকচার ডায়ালগ শুধুমাত্র অ্যাপ ক্যাটালগ ফাইল দেখায়। আপনি কম্পোজিট বিল্ড ব্যবহার করতে পারবেন, তবে আপনাকে সরাসরি এর TOML ফাইল এডিট করতে হবে।
SDK সংক্রান্ত অতিরিক্ত ইনসাইট: নীতি সংক্রান্ত সমস্যা
Android Studio, build.gradle.kts এবং build.gradle
ফাইল ও প্রোজেক্ট স্ট্রাকচার ডায়ালগে সেইসব পাবলিক SDK-এর জন্য লিন্ট সতর্কতা দেখায় যেগুলির Google Play SDK ইনডেক্সে Play
নীতি লঙ্ঘন আছে। আপনাকে Play নীতি লঙ্ঘনকারী যেকোনও
ডিপেন্ডেন্সি আপডেট করতে হবে, কারণ এই লঙ্ঘনগুলি ভবিষ্যতে Google Play Console-এ প্রকাশ করা থেকে
আপনাকে আটকাতে পারে। নীতি
লঙ্ঘন সংক্রান্ত সতর্কতা Android Studio-তে দেখানো পুরনো ভার্সন সংক্রান্ত সতর্কতার
সাথে যোগ করা হয়।
Android Studio compileSdk ভার্সন সাপোর্ট
আপনার প্রজেক্টে এমন compileSdk ব্যবহার করা হলে Android Studio একটি সতর্কতা দেখায় যা Android Studio-এর বর্তমান ভার্সনে
কাজ করে না। এছাড়াও, উপলভ্য হলে, এটি Android Studio-এর এমন একটি ভার্সনে
আপগ্রেড করার সাজেশন দেয় যা আপনার প্রজেক্টের ব্যবহার করা compileSdk
সাথে কাজ করে। মনে রাখবেন যে
Android Studio আপগ্রেড করার জন্য আপনাকে AGP-ও আপগ্রেড করতে হতে পারে।
এছাড়াও, আপনার প্রজেক্টে ব্যবহৃত compileSdk
AGP-র বর্তমান ভার্সনে কাজ না করলে, AGP বিল্ড টুল উইন্ডোতে একটি সতর্কতা দেখায়।
Lint-এর আচরণে পরিবর্তন
Android Gradle plugin 8.3.0-alpha02 থেকে শুরু করে, কোনও
মডিউলে lint চালানোর সময়, মডিউলের মূল ও টেস্ট
কম্পোনেন্টের জন্য আলাদা lint বিশ্লেষণ টাস্ক চালানো হয়। পারফর্ম্যান্স উন্নত করার জন্য এই পরিবর্তন করা হয়েছে।
আগের আচরণে ফিরে যেতে, আপনার
gradle.properties ফাইলে
android.experimental.lint.analysisPerComponent=false সেট করুন।
ডিফল্ট হিসেবে সুনির্দিষ্ট রিসোর্স সরিয়ে দেওয়া চালু থাকে
প্রিসাইজ রিসোর্স শ্রিনকিং, যা
resources.arsc ফাইল থেকে অব্যবহৃত এন্ট্রি সরিয়ে দেয় এবং অব্যবহৃত রিসোর্স ফাইল বাদ দেয়, তা ডিফল্ট হিসেবে চালু থাকে।
এই সঙ্কোচন চালু করা হলে, আপনার রিসোর্স টেবিল ছোট হয়ে যায় এবং শুধু
রেফার করা res ফোল্ডার এন্ট্রি APK-তে অন্তর্ভুক্ত করা হয়।
সুনির্দিষ্ট রিসোর্স সঙ্কোচন বন্ধ করতে, আপনার
প্রোজেক্টের gradle.properties ফাইলে
android.enableNewResourceShrinker.preciseShrinking-কে false হিসেবে সেট করুন।
সমাধান করা সমস্যা
Android Gradle প্লাগ-ইন 8.3.2
| সমাধান করা সমস্যা | |||
|---|---|---|---|
| Android Gradle Plugin |
|
||
| Lint ইন্টিগ্রেশন |
|
||
Android Gradle প্লাগ-ইন 8.3.1
| সমাধান করা সমস্যা | ||
|---|---|---|
| Android Gradle Plugin |
|
|
| Lint ইন্টিগ্রেশন |
|
|
Android Gradle প্লাগ-ইন 8.3.0
| সমাধান করা সমস্যা | ||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Android Gradle Plugin |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| Dexer (D8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| Lint |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| Lint ইন্টিগ্রেশন |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
| Shrinker (R8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||