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