অ্যান্ড্রয়েড গ্রেডল প্লাগইন 8.1.0 (জুলাই 2023)
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৮.১.০ একটি প্রধান রিলিজ, যাতে বিভিন্ন নতুন ফিচার ও উন্নতি অন্তর্ভুক্ত করা হয়েছে।
নতুন প্রজেক্টগুলো এখন বিল্ড কনফিগারেশনের জন্য ডিফল্টভাবে কোটলিন ডিএসএল ( build.gradle.kts ) ব্যবহার করে। এটি সিনট্যাক্স হাইলাইটিং, কোড কমপ্লিশন এবং ডিক্লারেশনে নেভিগেশনের মাধ্যমে গ্রুভি ডিএসএল ( build.gradle )-এর চেয়ে উন্নত এডিটিং অভিজ্ঞতা প্রদান করে। উল্লেখ্য যে, আপনি যদি বিল্ড কনফিগারেশনের জন্য এজিপি ৮.১ এবং কোটলিন ডিএসএল ব্যবহার করেন, তবে সেরা অভিজ্ঞতার জন্য আপনার গ্রেডল ৮.১ ব্যবহার করা উচিত। আরও জানতে, কোটলিন ডিএসএল মাইগ্রেশন গাইড দেখুন।
প্রতিটি অ্যাপের জন্য স্বয়ংক্রিয় ভাষা সমর্থন
Android Studio Giraffe Canary 7 এবং AGP 8.1.0-alpha07 থেকে শুরু করে, আপনি আপনার অ্যাপকে স্বয়ংক্রিয়ভাবে প্রতি-অ্যাপ ভাষার পছন্দ সমর্থন করার জন্য কনফিগার করতে পারেন। আপনার প্রোজেক্ট রিসোর্সের উপর ভিত্তি করে, Android Gradle প্লাগইন LocaleConfig ফাইলটি তৈরি করে এবং চূড়ান্ত ম্যানিফেস্ট ফাইলে এর একটি রেফারেন্স যোগ করে, ফলে আপনাকে আর এটি ম্যানুয়ালি করতে হয় না। LocaleConfig ফাইলে কোন লোকেলগুলো অন্তর্ভুক্ত করতে হবে তা নির্ধারণ করার জন্য AGP আপনার অ্যাপ মডিউল এবং যেকোনো লাইব্রেরি মডিউল ডিপেন্ডেন্সির res ফোল্ডারের রিসোর্সগুলো ব্যবহার করে।
উল্লেখ্য যে, স্বয়ংক্রিয় প্রতি-অ্যাপ ভাষা বৈশিষ্ট্যটি অ্যান্ড্রয়েড ১৩ (এপিআই লেভেল ৩৩) বা তার উচ্চতর সংস্করণে চালিত অ্যাপগুলোকে সমর্থন করে। এই বৈশিষ্ট্যটি ব্যবহার করার জন্য, আপনাকে compileSdkVersion অবশ্যই ৩৩ বা তার বেশি সেট করতে হবে। অ্যান্ড্রয়েডের পূর্ববর্তী সংস্করণগুলোর জন্য প্রতি-অ্যাপ ভাষার পছন্দগুলো কনফিগার করতে, আপনাকে এখনও এপিআই এবং ইন-অ্যাপ ল্যাঙ্গুয়েজ পিকার ব্যবহার করতে হবে।
প্রতিটি অ্যাপের জন্য স্বয়ংক্রিয় ভাষা সমর্থন সক্রিয় করতে, একটি ডিফল্ট লোকেল নির্দিষ্ট করুন:
অ্যাপ মডিউলের res ফোল্ডারে resources.properties নামে একটি নতুন ফাইল তৈরি করুন।
resources.properties ফাইলে, unqualifiedResLocale লেবেলটি দিয়ে ডিফল্ট লোকেল সেট করুন। লোকেলের নাম তৈরি করতে, ল্যাঙ্গুয়েজ কোডের সাথে ঐচ্ছিক স্ক্রিপ্ট এবং রিজিয়ন কোড একত্রিত করুন, এবং প্রতিটিকে একটি ড্যাশ দিয়ে আলাদা করুন:
ভাষা: দুই বা তিন অক্ষরের ISO 639-1 কোডটি ব্যবহার করুন।
উদাহরণস্বরূপ, যদি আপনার ডিফল্ট লোকেল আমেরিকান ইংরেজি হয়:
unqualifiedResLocale=en-US
AGP স্বয়ংক্রিয়ভাবে তৈরি হওয়া LocaleConfig ফাইলে এই ডিফল্ট লোকেল এবং res ফোল্ডারের values-* ডিরেক্টরি ব্যবহার করে আপনার নির্দিষ্ট করা যেকোনো বিকল্প লোকেল যোগ করে।
ডিফল্টরূপে, প্রতি-অ্যাপ স্বয়ংক্রিয় ভাষা সমর্থন বন্ধ থাকে। এই ফিচারটি চালু করতে, মডিউল-স্তরের build.gradle.kts ফাইলের (আপনি Groovy ব্যবহার করলে build.gradle ফাইল) androidResources {} ব্লকে generateLocaleConfig সেটিংটি ব্যবহার করুন:
অ্যান্ড্রয়েড লিন্টে জেভিএম ১৭ টার্গেট করা বাইটকোড রয়েছে।
AGP 8.1.0-alpha04 থেকে শুরু করে, Android Lint-এ JVM 17-কে লক্ষ্য করে বাইটকোড রয়েছে। আপনি যদি কাস্টম লিন্ট চেক লেখেন, তাহলে আপনাকে JDK 17 বা তার উচ্চতর সংস্করণ দিয়ে কম্পাইল করতে হবে এবং আপনার Kotlin কম্পাইলার অপশনে jvmTarget = '17' উল্লেখ করতে হবে।
নেটিভ লাইব্রেরি কম্প্রেশন সেটিং DSL-এ স্থানান্তরিত করা হয়েছে
AGP 8.1.0-alpha10 থেকে শুরু করে, আপনি যদি ম্যানিফেস্টের পরিবর্তে DSL ব্যবহার করে নেটিভ লাইব্রেরি কম্প্রেশন কনফিগার না করেন, তাহলে একটি সতর্কবার্তা পাবেন। নিম্নলিখিত নির্দেশিকায় ব্যাখ্যা করা হয়েছে কীভাবে আপনার কনফিগারেশন আপডেট করে DSL ব্যবহার করবেন। এই আপডেটগুলি করতে সাহায্যের জন্য, AGP আপগ্রেড অ্যাসিস্ট্যান্ট ( Tools > AGP Upgrade Assistant ) ব্যবহার করুন।
অসংকুচিত নেটিভ লাইব্রেরি ব্যবহার করতে, ম্যানিফেস্ট থেকে android::extractNativeLibs অ্যাট্রিবিউটটি সরিয়ে দিন এবং মডিউল-স্তরের build.gradle.kts ফাইলে (আপনি Groovy ব্যবহার করলে build.gradle ফাইলে) নিম্নলিখিত কোডটি যোগ করুন:
কোনো সাইনিং কনফিগারেশন নির্দিষ্ট না করে এটি সক্রিয় করলে, একটি প্রোফাইলেবল বা ডিবাগেবল বিল্ড চালানোর সময় AGP ডিফল্ট ডিবাগ সাইনিং কনফিগারেশন ব্যবহার করে। বিল্ড লেখকদের নির্দিষ্ট প্রোফাইলিং সাইনিং কনফিগারেশন ঘোষণা করতে উৎসাহিত করার জন্য এই ফ্ল্যাগটি ডিফল্টরূপে নিষ্ক্রিয় থাকে।
android.experimental.library.desugarAndroidTest
এজিপি ৮.০
false
এই ফ্ল্যাগটি লাইব্রেরি নির্মাতাদেরকে, উদাহরণস্বরূপ লিন্টিংয়ের মাধ্যমে, উৎপাদিত AAR-কে প্রভাবিত না করেই টেস্ট APK-গুলোর জন্য কোর লাইব্রেরির ডিসুগারিং সক্ষম করতে দেয়। আমরা অবশেষে ভ্যারিয়েন্ট এপিআই-তে এই আচরণটি সমর্থন করার পরিকল্পনা করছি।
সক্রিয় করা থাকলে, গ্রেডল ম্যানেজড ডিভাইস একটি ব্যবহারকারী-সংজ্ঞায়িত কাস্টম ডিভাইস টাইপের অনুমতি দেয় যা একটি প্লাগইন দ্বারা সরবরাহ করা যেতে পারে। আপনি যদি ফায়ারবেস টেস্ট ল্যাব প্লাগইন ব্যবহার করতে চান তবে এই ফ্ল্যাগটি অবশ্যই সক্রিয় করতে হবে।
android.lint.printStackTrace
এজিপি ৮.০
false
সক্রিয় করা থাকলে, অ্যান্ড্রয়েড লিন্ট ক্র্যাশ করলে একটি স্ট্যাকট্রেস প্রিন্ট করে। এই ফ্ল্যাগটির ক্ষমতা LINT_PRINT_STACKTRACE এনভায়রনমেন্ট ভেরিয়েবলের মতোই।
যেকোনো একটি নির্দিষ্ট সময়ে সর্বাধিক কতগুলো গ্রেডল ম্যানেজড ডিভাইস (AVD) সক্রিয় থাকবে তা নির্দিষ্ট করে। যদি মানটি ০ বা ঋণাত্মক হয়, তবে ডিভাইসের কোনো সর্বোচ্চ সংখ্যা থাকে না।
[AGP 8.1.0] যদি splits.abi.isEnable এবং testOptions.unitTests.isIncludeAndroidResources উভয়ই true হয়, তাহলে ./gradlew test "Unable to find manifest output" ত্রুটির সাথে ব্যর্থ হয়।
[AGP 8.1.0] যদি splits.abi.isEnable এবং testOptions.unitTests.isIncludeAndroidResources উভয়ই true হয়, তাহলে ./gradlew test "Unable to find manifest output" ত্রুটির সাথে ব্যর্থ হয়।
অ্যান্ড্রয়েড ১২+ এ ভেরিফিকেশন ত্রুটির কারণে ক্র্যাশ।
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2026-05-06 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-05-06 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[]]