নতুন প্রকল্পগুলি এখন বিল্ড কনফিগারেশনের জন্য ডিফল্টরূপে Kotlin DSL ( build.gradle.kts ) ব্যবহার করে। এটি সিনট্যাক্স হাইলাইটিং, কোড সমাপ্তি, এবং ঘোষণায় নেভিগেশন সহ Groovy DSL ( build.gradle ) এর থেকে একটি ভাল সম্পাদনার অভিজ্ঞতা প্রদান করে। মনে রাখবেন যে আপনি যদি বিল্ড কনফিগারেশনের জন্য AGP 8.1 এবং Kotlin DSL ব্যবহার করেন তবে সেরা অভিজ্ঞতার জন্য আপনার Gradle 8.1 ব্যবহার করা উচিত। আরও জানতে, Kotlin DSL মাইগ্রেশন গাইড দেখুন।
স্বয়ংক্রিয় প্রতি-অ্যাপ ভাষা সমর্থন
অ্যান্ড্রয়েড স্টুডিও জিরাফ ক্যানারি 7 এবং এজিপি 8.1.0-আলফা07 দিয়ে শুরু করে, আপনি স্বয়ংক্রিয়ভাবে প্রতি-অ্যাপ ভাষা পছন্দগুলিকে সমর্থন করার জন্য আপনার অ্যাপ কনফিগার করতে পারেন। আপনার প্রকল্প সংস্থানগুলির উপর ভিত্তি করে, Android Gradle প্লাগইন LocaleConfig ফাইল তৈরি করে এবং চূড়ান্ত ম্যানিফেস্ট ফাইলে এটির একটি রেফারেন্স যোগ করে, তাই আপনাকে আর এটি ম্যানুয়ালি করতে হবে না। LocaleConfig ফাইলে অন্তর্ভুক্ত করার জন্য লোকেলগুলি নির্ধারণ করতে AGP আপনার অ্যাপ মডিউলের res ফোল্ডার এবং যেকোনো লাইব্রেরি মডিউল নির্ভরতাগুলির সংস্থানগুলি ব্যবহার করে।
মনে রাখবেন যে স্বয়ংক্রিয় প্রতি-অ্যাপ ভাষা বৈশিষ্ট্যটি এমন অ্যাপগুলিকে সমর্থন করে যেগুলি Android 13 (API স্তর 33) বা উচ্চতর চালায়৷ বৈশিষ্ট্যটি ব্যবহার করতে, আপনাকে অবশ্যই compileSdkVersion 33 বা উচ্চতর সেট করতে হবে। Android এর পূর্ববর্তী সংস্করণগুলির জন্য প্রতি-অ্যাপ ভাষা পছন্দগুলি কনফিগার করতে, আপনাকে এখনও API এবং অ্যাপ-মধ্যস্থ ভাষা চয়নকারী ব্যবহার করতে হবে৷
স্বয়ংক্রিয়ভাবে প্রতি-অ্যাপ ভাষা সমর্থন সক্ষম করতে, একটি ডিফল্ট লোকেল নির্দিষ্ট করুন:
অ্যাপ মডিউলের res ফোল্ডারে, resources.properties নামে একটি নতুন ফাইল তৈরি করুন।
resources.properties ফাইলে, ডিফল্ট লোকেলটি unqualifiedResLocale লেবেল দিয়ে সেট করুন। লোকেলের নামগুলি তৈরি করতে, ভাষা কোডটিকে ঐচ্ছিক স্ক্রিপ্ট এবং অঞ্চল কোডগুলির সাথে একত্রিত করুন, প্রতিটি ড্যাশ দিয়ে আলাদা করুন:
ভাষা: দুই- বা তিন-অক্ষরের ISO 639-1 কোড ব্যবহার করুন।
উদাহরণস্বরূপ যদি আপনার ডিফল্ট লোকেল আমেরিকান ইংরেজি হয়:
unqualifiedResLocale=en-US
AGP এই ডিফল্ট লোকেল এবং আপনার নির্দিষ্ট করা যেকোনো বিকল্প লোকেল যোগ করে, res ফোল্ডারে values-* ডিরেক্টরি ব্যবহার করে, স্বয়ংক্রিয়ভাবে তৈরি LocaleConfig ফাইলে।
স্বয়ংক্রিয় প্রতি-অ্যাপ ভাষা সমর্থন ডিফল্টরূপে বন্ধ। বৈশিষ্ট্যটি চালু করতে, মডিউল-স্তরের build.gradle.kts ফাইলের androidResources {} ব্লকে generateLocaleConfig সেটিংস ব্যবহার করুন ( আপনি যদি Groovy ব্যবহার করেন তবে build.gradle ফাইল):
অ্যান্ড্রয়েড লিন্টে JVM 17 টার্গেটিং বাইটকোড রয়েছে
AGP 8.1.0-alpha04 দিয়ে শুরু করে, অ্যান্ড্রয়েড লিন্টে বাইটকোড টার্গেটিং JVM 17 রয়েছে। আপনি যদি কাস্টম লিন্ট চেক লেখেন, তাহলে আপনাকে JDK 17 বা উচ্চতর দিয়ে কম্পাইল করতে হবে এবং আপনার Kotlin কম্পাইলার বিকল্পগুলিতে jvmTarget = '17' উল্লেখ করতে হবে।
নেটিভ লাইব্রেরি কম্প্রেশন সেটিং DSL এ সরানো হয়েছে
AGP 8.1.0-alpha10 দিয়ে শুরু করে, আপনি ম্যানিফেস্টের পরিবর্তে DSL ব্যবহার করে নেটিভ লাইব্রেরি কম্প্রেশন কনফিগার না করলে আপনি একটি সতর্কতা পাবেন। নিম্নলিখিত নির্দেশিকা ব্যাখ্যা করে কিভাবে ডিএসএল ব্যবহার করার জন্য আপনার কনফিগারেশন আপডেট করবেন। এই আপডেটগুলি করতে সাহায্য পেতে, AGP আপগ্রেড সহকারী ( টুলস > AGP আপগ্রেড সহকারী ) ব্যবহার করুন।
আনকমপ্রেসড নেটিভ লাইব্রেরি ব্যবহার করতে, ম্যানিফেস্ট থেকে android::extractNativeLibs অ্যাট্রিবিউটটি সরিয়ে দিন এবং মডিউল-লেভেল build.gradle.kts ফাইলে নিম্নলিখিত কোড যোগ করুন ( আপনি যদি Groovy ব্যবহার করেন তবে build.gradle ফাইল):
কোনও সাইনিং কনফিগারেশন নির্দিষ্ট না করেই এটি সক্রিয় করার ফলে প্রোফাইলেবল বা ডিবাগযোগ্য বিল্ড চালানোর সময় এজিপি ডিফল্ট ডিবাগ সাইনিং কনফিগারেশন ব্যবহার করে। বিল্ড লেখকদের নির্দিষ্ট প্রোফাইলিং সাইনিং কনফিগারেশন ঘোষণা করতে উত্সাহিত করতে এই পতাকাটি ডিফল্টরূপে অক্ষম করা হয়।
android.experimental.library.desugarAndroidTest
এজিপি 8.0
false
এই ফ্ল্যাগটি লাইব্রেরি নির্মাতাদের উত্পাদিত AAR-কে প্রভাবিত না করেই পরীক্ষার APK-এর জন্য কোর লাইব্রেরি ডিসুগারিং সক্ষম করতে দেয়, উদাহরণস্বরূপ লিন্টিংয়ের মাধ্যমে। আমরা শেষ পর্যন্ত ভেরিয়েন্ট API-এ এই আচরণকে সমর্থন করার পরিকল্পনা করছি।
যদি সক্ষম করা থাকে, গ্র্যাডল পরিচালিত ডিভাইসগুলি একটি ব্যবহারকারী-সংজ্ঞায়িত কাস্টম ডিভাইস প্রকারের অনুমতি দেয় যা একটি প্লাগইন দ্বারা সরবরাহ করা যেতে পারে। আপনি যদি Firebase টেস্ট ল্যাব প্লাগইন ব্যবহার করতে চান তাহলে এই পতাকাটি অবশ্যই সক্ষম হতে হবে৷
android.lint.printStackTrace
এজিপি 8.0
false
সক্রিয় থাকলে, অ্যান্ড্রয়েড লিন্ট ক্র্যাশ হলে স্ট্যাকট্রেস প্রিন্ট করে। এই পতাকাটির LINT_PRINT_STACKTRACE পরিবেশ পরিবর্তনশীলের মতো একই ক্ষমতা রয়েছে৷
সময়ের যেকোনো একটি সময়ে সক্রিয় হতে সর্বোচ্চ সংখ্যক সমসাময়িক গ্রেডল ম্যানেজড ডিভাইস (AVD) নির্দিষ্ট করে। মান 0 বা ঋণাত্মক হলে, ডিভাইসের সর্বোচ্চ সংখ্যা নেই।
[AGP 8.1.0] ./gradlew পরীক্ষা ব্যর্থ হয় "মেনিফেস্ট আউটপুট খুঁজে পেতে অক্ষম" যদি উভয় splits.abi.isEnable এবং testOptions.unitTests.isIncludeAndroidResources সত্য হয়
[AGP 8.1.0] ./gradlew পরীক্ষা ব্যর্থ হয় "মেনিফেস্ট আউটপুট খুঁজে পেতে অক্ষম" যদি উভয় splits.abi.isEnable এবং testOptions.unitTests.isIncludeAndroidResources সত্য হয়
সাবপ্রজেক্টের ক্লাসে ডেক্সিং টাস্ক চালাবেন না যখন তারা ইতিমধ্যে আর্টিফ্যাক্ট ট্রান্সফর্মের মাধ্যমে ডেক্সড হয়েছে
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2024-10-30 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"]],["2024-10-30 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[]]