<আবেদন>

সিনট্যাক্স:
<application android:allowTaskReparenting=["true" | "false"]
             android:allowBackup=["true" | "false"]
             android:allowClearUserData=["true" | "false"]
             android:allowCrossUidActivitySwitchFromBelow=["true" | "false"]
             android:allowNativeHeapPointerTagging=["true" | "false"]
             android:appCategory=["accessibility" | "audio" | "game" |
             "image" | "maps" | "news" | "productivity" | "social" | "video"]
             android:backupAgent="string"
             android:backupInForeground=["true" | "false"]
             android:banner="drawable resource"
             android:dataExtractionRules="string resource"
             android:debuggable=["true" | "false"]
             android:description="string resource"
             android:enabled=["true" | "false"]
             android:extractNativeLibs=["true" | "false"]
             android:fullBackupContent="string"
             android:fullBackupOnly=["true" | "false"]
             android:gwpAsanMode=["always" | "never"]
             android:hasCode=["true" | "false"]
             android:hasFragileUserData=["true" | "false"]
             android:hardwareAccelerated=["true" | "false"]
             android:icon="drawable resource"
             android:isGame=["true" | "false"]
             android:isMonitoringTool=["parental_control" | "enterprise_management" |
             "other"]
             android:killAfterRestore=["true" | "false"]
             android:largeHeap=["true" | "false"]
             android:label="string resource"
             android:logo="drawable resource"
             android:manageSpaceActivity="string"
             android:name="string"
             android:networkSecurityConfig="xml resource"
             android:permission="string"
             android:persistent=["true" | "false"]
             android:process="string"
             android:restoreAnyVersion=["true" | "false"]
             android:requestLegacyExternalStorage=["true" | "false"]
             android:requiredAccountType="string"
             android:resizeableActivity=["true" | "false"]
             android:restrictedAccountType="string"
             android:supportsRtl=["true" | "false"]
             android:taskAffinity="string"
             android:testOnly=["true" | "false"]
             android:theme="resource or theme"
             android:uiOptions=["none" | "splitActionBarWhenNarrow"]
             android:usesCleartextTraffic=["true" | "false"]
             android:vmSafeMode=["true" | "false"] >
    . . .
</application>
এর মধ্যে রয়েছে:
<manifest>
থাকতে পারে:
<activity>
<activity-alias>
<meta-data>
<service>
<receiver>
<profileable>
<provider>
<uses-library>
<uses-native-library>
বর্ণনা:

আবেদনের ঘোষণা। এই উপাদানটিতে উপ-এলিমেন্ট রয়েছে যা অ্যাপ্লিকেশনের প্রতিটি উপাদান ঘোষণা করে এবং এমন বৈশিষ্ট্য রয়েছে যা সমস্ত উপাদানকে প্রভাবিত করতে পারে।

এই বৈশিষ্ট্যগুলির মধ্যে অনেকগুলি, যেমন icon , label , permission , process , taskAffinity , এবং allowTaskReparenting , উপাদান উপাদানগুলির সংশ্লিষ্ট বৈশিষ্ট্যগুলির জন্য ডিফল্ট মান সেট করে৷ অন্যান্য, যেমন debuggable , enabled , description , এবং allowClearUserData , সামগ্রিকভাবে অ্যাপ্লিকেশনের জন্য মান সেট করে এবং উপাদানগুলির দ্বারা ওভাররাইড করা হয় না৷

গুণাবলী
android:allowTaskReparenting
অ্যাপ্লিকেশানটি সংজ্ঞায়িত ক্রিয়াকলাপগুলি যে টাস্ক থেকে শুরু করে সেই টাস্কে যেতে পারে কিনা সেই টাস্কটি পরবর্তীতে সামনে আনা হলে তাদের সাথে সম্পর্ক রয়েছে কিনা। এটি "true" যদি তারা সরাতে পারে, এবং "false" যদি তারা যে কাজটি শুরু করেছিল তার সাথেই থাকে। ডিফল্ট মান হল "false"

<activity> উপাদানটির নিজস্ব allowTaskReparenting বৈশিষ্ট্য রয়েছে যা এখানে সেট করা মানকে ওভাররাইড করতে পারে।

android:allowBackup

অ্যাপ্লিকেশনটিকে ব্যাকআপে অংশ নিতে এবং পরিকাঠামো পুনরুদ্ধার করতে দেওয়া হবে কিনা। যদি এই অ্যাট্রিবিউটটি "false" এ সেট করা থাকে, তাহলে অ্যাপ্লিকেশনটির কোনো ব্যাকআপ বা পুনরুদ্ধার করা হয় না, এমনকি একটি পূর্ণ-সিস্টেম ব্যাকআপ দ্বারা যা অন্যথায় adb ব্যবহার করে সমস্ত অ্যাপ্লিকেশন ডেটা সংরক্ষণ করতে পারে। এই বৈশিষ্ট্যের ডিফল্ট মান হল "true"

দ্রষ্টব্য: Android 12 (API স্তর 31) বা উচ্চতরকে লক্ষ্য করা অ্যাপগুলির জন্য, এই আচরণটি পরিবর্তিত হয়। কিছু ডিভাইস নির্মাতার ডিভাইসে, আপনি আপনার অ্যাপের ফাইলের ডিভাইস থেকে ডিভাইস মাইগ্রেশন অক্ষম করতে পারবেন না।

যাইহোক, আপনি ক্লাউড-ভিত্তিক ব্যাকআপ অক্ষম করতে পারেন এবং এই অ্যাট্রিবিউটটিকে "false" তে সেট করে আপনার অ্যাপের ফাইলগুলি পুনরুদ্ধার করতে পারেন, এমনকি যদি আপনার অ্যাপটি Android 12 (API স্তর 31) বা উচ্চতরকে লক্ষ্য করে।

আরও তথ্যের জন্য, পৃষ্ঠাটির ব্যাকআপ এবং পুনরুদ্ধার বিভাগটি দেখুন যা Android 12 (API স্তর 31) বা উচ্চতর টার্গেট করা অ্যাপগুলির আচরণের পরিবর্তনগুলি বর্ণনা করে৷

android:allowClearUserData

অ্যাপ্লিকেশনটিকে ব্যবহারকারীর ডেটা পুনরায় সেট করতে দেওয়া হবে কিনা। এই ডেটাতে ফ্ল্যাগ রয়েছে, যেমন ব্যবহারকারী পরিচায়ক টুলটিপ দেখেছেন কিনা, সেইসাথে ব্যবহারকারী-কাস্টমাইজযোগ্য সেটিংস এবং পছন্দগুলি। এই বৈশিষ্ট্যের ডিফল্ট মান হল "true"

দ্রষ্টব্য: শুধুমাত্র যে অ্যাপগুলি সিস্টেম ইমেজের অংশ তারাই এই বৈশিষ্ট্যটি স্পষ্টভাবে ঘোষণা করতে পারে৷ তৃতীয় পক্ষের অ্যাপগুলি তাদের ম্যানিফেস্ট ফাইলগুলিতে এই বৈশিষ্ট্যটি অন্তর্ভুক্ত করতে পারে না৷

আরও তথ্যের জন্য, ডেটা ব্যাকআপ ওভারভিউ দেখুন।

android:allowCrossUidActivitySwitchFromBelow

টাস্কে এর নিচের ক্রিয়াকলাপগুলি অন্যান্য কার্যক্রম শুরু করতে বা কাজটি শেষ করতে পারে কিনা তা নির্দিষ্ট করে।

টার্গেট SDK লেভেল Build.VERSION_CODES.VANILLA_ICE_CREAM VERSION_CODES.VANILLA_ICE_CREAM থেকে শুরু করে, অ্যাপগুলিকে নতুন ক্রিয়াকলাপ শুরু করা বা তাদের কাজ শেষ করা থেকে ব্লক করা হতে পারে যদি না এই ধরনের টাস্কের শীর্ষ ক্রিয়াকলাপটি নিরাপত্তার কারণে একই UID-এর অন্তর্গত হয়৷

এই ফ্ল্যাগটিকে true সেট করা হলে এই কার্যকলাপটি শীর্ষে থাকলে লঞ্চিং অ্যাপটিকে সীমাবদ্ধতা উপেক্ষা করার অনুমতি দেবে৷ এই ক্রিয়াকলাপের UID-এর সাথে মিলে যাওয়া অ্যাপগুলিকে সর্বদা ছাড় দেওয়া হয়।

আরও তথ্যের জন্য, সুরক্ষিত পটভূমি কার্যকলাপ লঞ্চ দেখুন।

android:allowNativeHeapPointerTagging

অ্যাপটি হিপ পয়েন্টার ট্যাগিং বৈশিষ্ট্য সক্ষম করে কিনা। এই বৈশিষ্ট্যের ডিফল্ট মান হল "true"

দ্রষ্টব্য: এই বৈশিষ্ট্যটি অক্ষম করা অন্তর্নিহিত কোড স্বাস্থ্য সমস্যা সমাধান করে না । ভবিষ্যতের হার্ডওয়্যার ডিভাইসগুলি এই ম্যানিফেস্ট ট্যাগকে সমর্থন নাও করতে পারে৷

আরও তথ্যের জন্য, ট্যাগ করা পয়েন্টার দেখুন।

android:appCategory

এই অ্যাপের বিভাগ ঘোষণা করে। ব্যাটারি, নেটওয়ার্ক বা ডিস্ক ব্যবহারের সংক্ষিপ্ত বিবরণের মতো অর্থপূর্ণ গোষ্ঠীতে একাধিক অ্যাপকে একসাথে ক্লাস্টার করতে বিভাগগুলি ব্যবহার করা হয়। শুধুমাত্র নির্দিষ্ট শ্রেণীগুলির মধ্যে একটির সাথে মানানসই অ্যাপগুলির জন্য এই মানটি সংজ্ঞায়িত করুন৷

নিম্নলিখিত ধ্রুবক মানগুলির মধ্যে একটি হতে হবে।

মান বর্ণনা
accessibility যে অ্যাপগুলি প্রাথমিকভাবে অ্যাক্সেসযোগ্যতা অ্যাপ, যেমন স্ক্রিন-রিডার।
audio যে অ্যাপগুলি প্রাথমিকভাবে অডিও বা মিউজিকের সাথে কাজ করে, যেমন মিউজিক প্লেয়ার।
game যে অ্যাপগুলো মূলত গেম।
image যে অ্যাপগুলি প্রাথমিকভাবে ছবি বা ফটোর সাথে কাজ করে, যেমন ক্যামেরা বা গ্যালারি অ্যাপ।
maps যে অ্যাপগুলি প্রাথমিকভাবে ম্যাপ অ্যাপ, যেমন নেভিগেশন অ্যাপ।
news যে অ্যাপগুলি প্রাথমিকভাবে খবরের অ্যাপ, যেমন সংবাদপত্র, ম্যাগাজিন বা স্পোর্টস অ্যাপ।
productivity যে অ্যাপগুলি প্রাথমিকভাবে উত্পাদনশীলতার অ্যাপ, যেমন ক্লাউড স্টোরেজ বা কর্মক্ষেত্রের অ্যাপ।
social যে অ্যাপগুলি প্রাথমিকভাবে সামাজিক অ্যাপ, যেমন মেসেজিং, যোগাযোগ, ইমেল বা সামাজিক নেটওয়ার্ক অ্যাপ।
video যে অ্যাপগুলি প্রাথমিকভাবে ভিডিও বা সিনেমার সাথে কাজ করে, যেমন স্ট্রিমিং ভিডিও অ্যাপ।

android:backupAgent
অ্যাপ্লিকেশনের ব্যাকআপ এজেন্ট প্রয়োগ করে এমন ক্লাসের নাম, BackupAgent এর একটি সাবক্লাস। অ্যাট্রিবিউট মান হল একটি সম্পূর্ণ যোগ্য শ্রেণীর নাম, যেমন "com.example.project.MyBackupAgent" । যাইহোক, শর্টহ্যান্ড হিসাবে, যদি নামের প্রথম অক্ষরটি একটি পিরিয়ড হয়, উদাহরণস্বরূপ, ".MyBackupAgent" , এটি <manifest> উপাদানে নির্দিষ্ট করা প্যাকেজের নামের সাথে যুক্ত করা হয়।

কোন ডিফল্ট নেই. নাম নির্দিষ্ট হতে হবে।

android:backupInForeground
ইঙ্গিত করে যে অটো ব্যাকআপ অপারেশনগুলি এই অ্যাপে সঞ্চালিত হতে পারে এমনকি যদি অ্যাপটি একটি ফোরগ্রাউন্ড-সমতুল্য অবস্থায় থাকে। স্বয়ংক্রিয় ব্যাকআপ অপারেশন চলাকালীন সিস্টেমটি একটি অ্যাপ বন্ধ করে দেয়, তাই সাবধানতার সাথে এই বৈশিষ্ট্যটি ব্যবহার করুন। এই পতাকাটিকে "true" তে সেট করা অ্যাপ সক্রিয় থাকাকালীন অ্যাপের আচরণকে প্রভাবিত করতে পারে।

ডিফল্ট মান হল "false" , যার মানে হল যে OS অগ্রভাগে চলার সময় অ্যাপটির ব্যাক আপ নেওয়া এড়িয়ে যায়, যেমন একটি মিউজিক অ্যাপ যেটি startForeground() অবস্থায় একটি পরিষেবা ব্যবহার করে সক্রিয়ভাবে মিউজিক চালাচ্ছে।

android:banner
একটি অঙ্কনযোগ্য সংস্থান যা এর সাথে সম্পর্কিত আইটেমের জন্য একটি বর্ধিত গ্রাফিকাল ব্যানার প্রদান করে। সমস্ত অ্যাপ্লিকেশন ক্রিয়াকলাপের জন্য একটি ডিফল্ট ব্যানার সরবরাহ করতে <application> ট্যাগ ব্যবহার করুন বা একটি নির্দিষ্ট কার্যকলাপের জন্য একটি ব্যানার সরবরাহ করতে <activity> ট্যাগের সাথে ব্যবহার করুন।

অ্যান্ড্রয়েড টিভি হোম স্ক্রিনে একটি অ্যাপ উপস্থাপন করতে সিস্টেমটি ব্যানার ব্যবহার করে। অতএব, শুধুমাত্র CATEGORY_LEANBACK_LAUNCHER উদ্দেশ্য পরিচালনা করে এমন একটি কার্যকলাপ সহ অ্যাপ্লিকেশনগুলির জন্য এটি নির্দিষ্ট করুন৷

এই অ্যাট্রিবিউটটি ইমেজ ধারণকারী একটি অঙ্কনযোগ্য সম্পদের রেফারেন্স হিসাবে সেট করা হয়েছে, উদাহরণস্বরূপ "@drawable/banner" । কোন ডিফল্ট ব্যানার নেই.

আরও তথ্যের জন্য, একটি হোম স্ক্রীন ব্যানার প্রদান দেখুন।

android:dataExtractionRules

অ্যাপ্লিকেশনগুলি এই বৈশিষ্ট্যটিকে একটি XML সংস্থানে সেট করতে পারে যেখানে তারা ব্যাকআপ বা স্থানান্তর ক্রিয়াকলাপের অংশ হিসাবে ডিভাইস থেকে কোন ফাইল এবং ডিরেক্টরিগুলি অনুলিপি করা যেতে পারে তা নির্ধারণ করার নিয়মগুলি নির্দিষ্ট করে৷

XML ফাইলের বিন্যাস সম্পর্কে তথ্যের জন্য, ব্যাকআপ এবং পুনরুদ্ধার দেখুন।

android:debuggable
অ্যাপ্লিকেশনটি ডিবাগ করা যাবে কি না, এমনকি ব্যবহারকারী মোডে একটি ডিভাইসে চললেও। এটা হতে পারে "true" এবং না হলে "false" । ডিফল্ট মান হল "false"
android:description
অ্যাপ্লিকেশন সম্পর্কে ব্যবহারকারী-পাঠযোগ্য পাঠ্য, যা অ্যাপ্লিকেশন লেবেলের চেয়ে দীর্ঘ এবং আরও বর্ণনামূলক৷ মান একটি স্ট্রিং সম্পদ একটি রেফারেন্স হিসাবে সেট করা হয়. লেবেল থেকে ভিন্ন, এটি একটি কাঁচা স্ট্রিং হতে পারে না। কোন ডিফল্ট মান নেই।
android:enabled
অ্যান্ড্রয়েড সিস্টেম অ্যাপ্লিকেশনটির উপাদানগুলিকে তাত্ক্ষণিক করতে পারে কিনা৷ এটা করতে পারলে "true" এবং না হলে "false" । মানটি "true" হলে, প্রতিটি উপাদানের enabled বৈশিষ্ট্য নির্ধারণ করে যে সেই উপাদানটি সক্ষম কিনা। মানটি "false" হলে, এটি উপাদান-নির্দিষ্ট মানগুলিকে ওভাররাইড করে এবং সমস্ত উপাদান অক্ষম করা হয়৷

ডিফল্ট মান হল "true"

android:extractNativeLibs

AGP 4.2.0 দিয়ে শুরু করে, DSL অপশন useLegacyPackaging এক্সট্রাক্ট extractNativeLibs ম্যানিফেস্ট অ্যাট্রিবিউটকে প্রতিস্থাপন করে। নেটিভ লাইব্রেরি কম্প্রেশন আচরণ কনফিগার করতে ম্যানিফেস্ট ফাইলে extractNativeLibs এর পরিবর্তে আপনার অ্যাপের build.gradle ফাইলে useLegacyPackaging ব্যবহার করুন। আরও তথ্যের জন্য, রিলিজ নোট দেখুন সংকুচিত নেটিভ লাইব্রেরি প্যাকেজ করতে DSL ব্যবহার করুন

এই বৈশিষ্ট্যটি নির্দেশ করে যে প্যাকেজ ইনস্টলার APK থেকে ফাইল সিস্টেমে নেটিভ লাইব্রেরিগুলি বের করে কিনা। যদি "false" তে সেট করা থাকে, তাহলে আপনার নেটিভ লাইব্রেরিগুলি APK-এ সংকুচিত না হয়ে সংরক্ষণ করা হয়৷ যদিও আপনার APK বড় হতে পারে, আপনার অ্যাপ্লিকেশন দ্রুত লোড হয় কারণ লাইব্রেরিগুলি রানটাইমে APK থেকে সরাসরি লোড হয়।

extractNativeLibs এর ডিফল্ট মান minSdkVersion এবং আপনি যে AGP ব্যবহার করছেন তার উপর নির্ভর করে। বেশিরভাগ ক্ষেত্রে, ডিফল্ট আচরণ সম্ভবত আপনি যা চান, এবং আপনাকে এই বৈশিষ্ট্যটি স্পষ্টভাবে সেট করতে হবে না।

android:fullBackupContent
এই বৈশিষ্ট্যটি একটি XML ফাইলের দিকে নির্দেশ করে যাতে অটো ব্যাকআপের জন্য সম্পূর্ণ ব্যাকআপ নিয়ম রয়েছে৷ এই নিয়মগুলি নির্ধারণ করে কোন ফাইলগুলি ব্যাক আপ করা হবে। আরও তথ্যের জন্য, স্বয়ংক্রিয় ব্যাকআপের জন্য XML কনফিগারেশন সিনট্যাক্স দেখুন।

এই বৈশিষ্ট্য ঐচ্ছিক. যদি এটি নির্দিষ্ট করা না থাকে, ডিফল্টরূপে, স্বয়ংক্রিয় ব্যাকআপ আপনার অ্যাপের বেশিরভাগ ফাইল অন্তর্ভুক্ত করে। আরও তথ্যের জন্য, ব্যাক আপ করা ফাইলগুলি দেখুন।

android:fullBackupOnly
এই বৈশিষ্ট্যটি নির্দেশ করে যে ডিভাইসগুলি যেখানে এটি উপলব্ধ সেখানে স্বয়ংক্রিয় ব্যাকআপ ব্যবহার করবেন কিনা৷ যদি "true" তে সেট করা হয়, তাহলে Android 6.0 (API স্তর 23) বা উচ্চতর চলমান ডিভাইসে ইনস্টল করার সময় আপনার অ্যাপটি স্বতঃ ব্যাকআপ করে। পুরানো ডিভাইসগুলিতে, আপনার অ্যাপ এই বৈশিষ্ট্যটিকে উপেক্ষা করে এবং কী/মান ব্যাকআপগুলি সম্পাদন করে।

ডিফল্ট মান হল "false"

android:gwpAsanMode
এই বৈশিষ্ট্যটি নির্দেশ করে যে GWP-ASan ব্যবহার করতে হবে, একটি নেটিভ মেমরি বরাদ্দকারী বৈশিষ্ট্য যা ব্যবহার-পর-মুক্ত এবং হিপ-বাফার-ওভারফ্লো বাগগুলি খুঁজে পেতে সহায়তা করে।

ডিফল্ট মান হল "never"

android:hasCode
অ্যাপ্লিকেশনটিতে কোনো DEX কোড আছে কিনা—অর্থাৎ, কোটলিন বা জাভা প্রোগ্রামিং ভাষা ব্যবহার করে কোড। এটা যদি হয় "true" এবং না হলে "false" । যখন মানটি "false" হয়, তখন উপাদান চালু করার সময় সিস্টেম কোনো অ্যাপ্লিকেশন কোড লোড করার চেষ্টা করে না। ডিফল্ট মান হল "true"

যদি অ্যাপ্লিকেশনে নেটিভ (C/C++) কোড থাকে, কিন্তু কোনো DEX কোড থাকে না, তাহলে এটি "false" এ সেট করা উচিত। APK-এ কোনো DEX কোড না থাকলে "true" হিসেবে সেট করা থাকলে, অ্যাপটি লোড হতে ব্যর্থ হতে পারে।

এই সম্পত্তি নির্ভরতা দ্বারা অ্যাপ্লিকেশন অন্তর্ভুক্ত কোড জন্য অ্যাকাউন্ট আবশ্যক. যদি অ্যাপ্লিকেশনটি জাভা/কোটলিন কোড ব্যবহার করে এমন একটি AAR-এর উপর নির্ভর করে, বা সরাসরি একটি JAR-এ, app:hasCode অবশ্যই "true" হতে হবে, বা এটি ডিফল্ট হিসাবে বাদ দেওয়া হবে।

উদাহরণস্বরূপ, আপনার অ্যাপ প্লে ফিচার ডেলিভারি সমর্থন করতে পারে এবং এতে ফিচার মডিউল অন্তর্ভুক্ত থাকতে পারে যা কোনো DEX ফাইল তৈরি করে না, যা অ্যান্ড্রয়েড প্ল্যাটফর্মের জন্য বাইটকোড অপ্টিমাইজ করা হয়েছে। যদি তাই হয়, তাহলে রানটাইম ত্রুটি এড়াতে আপনাকে মডিউলের ম্যানিফেস্ট ফাইলে এই প্রপার্টিটিকে "false" তে সেট করতে হবে।

android:hasFragileUserData
ব্যবহারকারী যখন অ্যাপটি আনইনস্টল করে তখন অ্যাপের ডেটা রাখার জন্য ব্যবহারকারীকে প্রম্পট দেখাতে হবে কিনা। ডিফল্ট মান হল "false"
android:hardwareAccelerated
হার্ডওয়্যার-এক্সিলারেটেড রেন্ডারিং এই অ্যাপ্লিকেশানে সমস্ত ক্রিয়াকলাপ এবং দর্শনের জন্য সক্ষম কিনা। এটি সক্ষম হলে এটি "true" এবং না থাকলে "false" । আপনি যদি minSdkVersion বা targetSdkVersion হয় "14" বা উচ্চতর সেট করেন তাহলে ডিফল্ট মান "true" । অন্যথায়, এটি "false"

Android 3.0 (API লেভেল 11) থেকে শুরু করে, অনেক সাধারণ 2D গ্রাফিক্স ক্রিয়াকলাপগুলির জন্য কর্মক্ষমতা উন্নত করতে একটি হার্ডওয়্যার-অ্যাক্সিলারেটেড OpenGL রেন্ডারার অ্যাপ্লিকেশনগুলিতে উপলব্ধ। যখন হার্ডওয়্যার-অ্যাক্সিলারেটেড রেন্ডারার সক্ষম করা হয়, তখন ক্যানভাস, পেইন্ট, এক্সফর্মোড, কালারফিল্টার, শেডার এবং ক্যামেরার বেশিরভাগ ক্রিয়াকলাপ ত্বরান্বিত হয়।

এর ফলে মসৃণ অ্যানিমেশন, মসৃণ স্ক্রোলিং, এবং সামগ্রিকভাবে উন্নত প্রতিক্রিয়াশীলতা দেখা যায়, এমনকি এমন অ্যাপ্লিকেশনের জন্যও যেগুলি স্পষ্টভাবে ফ্রেমওয়ার্কের OpenGL লাইব্রেরি ব্যবহার করে না।

সমস্ত OpenGL 2D অপারেশন ত্বরান্বিত হয় না। আপনি যদি হার্ডওয়্যার-এক্সিলারেটেড রেন্ডারার সক্ষম করেন, আপনার অ্যাপ্লিকেশনটি পরীক্ষা করুন যাতে এটি ত্রুটি ছাড়াই রেন্ডারার ব্যবহার করতে পারে৷

আরও তথ্যের জন্য, হার্ডওয়্যার ত্বরণ নির্দেশিকা পড়ুন।

android:icon
সম্পূর্ণরূপে অ্যাপ্লিকেশনের জন্য একটি আইকন এবং অ্যাপ্লিকেশনের প্রতিটি উপাদানের জন্য ডিফল্ট আইকন৷ <activity> , <activity-alias> , <service> , <receiver> , এবং <provider> উপাদানগুলির জন্য পৃথক icon বৈশিষ্ট্যগুলি দেখুন৷

এই বৈশিষ্ট্যটি একটি অঙ্কনযোগ্য সংস্থানের একটি রেফারেন্স হিসাবে সেট করা হয়েছে যার মধ্যে চিত্র রয়েছে, যেমন "@drawable/icon" । কোন ডিফল্ট আইকন নেই.

android:isGame
অ্যাপ্লিকেশনটি একটি খেলা কিনা। সিস্টেম গেম হিসাবে শ্রেণীবদ্ধ অ্যাপ্লিকেশনগুলিকে একত্রিত করতে পারে বা অন্যান্য অ্যাপ্লিকেশন থেকে আলাদাভাবে প্রদর্শন করতে পারে। ডিফল্ট হল "false"
android:isMonitoringTool

নির্দেশ করে যে এই অ্যাপ্লিকেশনটি অন্যান্য ব্যক্তিদের নিরীক্ষণ করার জন্য ডিজাইন করা হয়েছে।

দ্রষ্টব্য: যদি কোনো অ্যাপ তার ম্যানিফেস্টে এই বৈশিষ্ট্যটি ঘোষণা করে, তাহলে ডেভেলপারকে Google Play-তে অ্যাপটি প্রকাশ করতে Stalkerware নীতি অনুসরণ করতে হবে।

কোন ডিফল্ট মান নেই। বিকাশকারীকে অবশ্যই নিম্নলিখিত মানগুলির মধ্যে একটি নির্দিষ্ট করতে হবে:

মান বর্ণনা
"parental_control" অ্যাপটি অভিভাবকীয় নিয়ন্ত্রণ প্রদান করে এবং বিশেষভাবে অভিভাবকদের লক্ষ্য করে যারা তাদের বাচ্চাদের নিরাপদ রাখতে চান।
"enterprise_management" অ্যাপটি এমন উদ্যোগগুলিকে পূরণ করে যেগুলি কর্মীদের দেওয়া ডিভাইসগুলি পরিচালনা এবং ট্র্যাক করতে চায়৷
"other" অ্যাপটি এই সারণীতে অন্যথায় উল্লেখ করা নেই এমন একটি ব্যবহারের ক্ষেত্রে পূরণ করে।
android:killAfterRestore

একটি পূর্ণ-সিস্টেম পুনরুদ্ধার ক্রিয়াকলাপের সময় সেটিংস পুনরুদ্ধার করার পরে অ্যাপ্লিকেশনটি বন্ধ হয়ে যায় কিনা। একক-প্যাকেজ পুনরুদ্ধার ক্রিয়াকলাপ কখনই অ্যাপ্লিকেশন বন্ধ করে না। পূর্ণ-সিস্টেম পুনরুদ্ধার ক্রিয়াকলাপগুলি সাধারণত শুধুমাত্র একবার ঘটে, যখন ফোনটি প্রথম সেট আপ করা হয়৷ তৃতীয় পক্ষের অ্যাপ্লিকেশনগুলির সাধারণত এই বৈশিষ্ট্যটি ব্যবহার করার প্রয়োজন হয় না।

ডিফল্ট হল "true" , যার মানে হল একটি পূর্ণ-সিস্টেম পুনরুদ্ধারের সময় অ্যাপ্লিকেশনটি তার ডেটা প্রক্রিয়াকরণ শেষ করার পরে, এটি বন্ধ হয়ে যায়।

android:largeHeap

অ্যাপ্লিকেশনের প্রক্রিয়াগুলি একটি বড় ডালভিক হিপ দিয়ে তৈরি করা হয়েছে কিনা। এটি অ্যাপ্লিকেশনের জন্য তৈরি সমস্ত প্রক্রিয়ার ক্ষেত্রে প্রযোজ্য। এটি শুধুমাত্র একটি প্রক্রিয়ার মধ্যে লোড করা প্রথম অ্যাপ্লিকেশনের ক্ষেত্রে প্রযোজ্য। আপনি যদি একাধিক অ্যাপ্লিকেশানকে একটি প্রক্রিয়া ব্যবহার করতে দেওয়ার জন্য একটি শেয়ার্ড ইউজার আইডি ব্যবহার করেন, তবে অপ্রত্যাশিত ফলাফল এড়াতে তাদের সকলকে অবশ্যই এই বিকল্পটি ধারাবাহিকভাবে ব্যবহার করতে হবে।

বেশিরভাগ অ্যাপের এটির প্রয়োজন নেই এবং পরিবর্তে উন্নত কর্মক্ষমতার জন্য তাদের সামগ্রিক মেমরি ব্যবহার হ্রাস করার উপর ফোকাস করে। এটি সক্ষম করা উপলব্ধ মেমরিতে একটি নির্দিষ্ট বৃদ্ধির গ্যারান্টি দেয় না, কারণ কিছু ডিভাইস তাদের মোট উপলব্ধ মেমরি দ্বারা সীমাবদ্ধ।

রানটাইমে উপলব্ধ মেমরির আকার জিজ্ঞাসা করতে, getMemoryClass() বা getLargeMemoryClass() পদ্ধতিগুলি ব্যবহার করুন।

android:label
সম্পূর্ণরূপে অ্যাপ্লিকেশনটির জন্য একটি ব্যবহারকারী-পাঠযোগ্য লেবেল এবং অ্যাপ্লিকেশনটির প্রতিটি উপাদানের জন্য একটি ডিফল্ট লেবেল৷ <activity> , <activity-alias> , <service> , <receiver> , এবং <provider> উপাদানগুলির জন্য পৃথক label বৈশিষ্ট্যগুলি দেখুন৷

লেবেলটি একটি স্ট্রিং রিসোর্সের রেফারেন্স হিসাবে সেট করা হয়েছে, যাতে এটি ব্যবহারকারী ইন্টারফেসের অন্যান্য স্ট্রিংগুলির মতো স্থানীয়করণ করা যায়। যাইহোক, আপনি অ্যাপ্লিকেশনটি বিকাশ করার সময় সুবিধা হিসাবে, এটি একটি কাঁচা স্ট্রিং হিসাবেও সেট করা যেতে পারে।

android:logo
সম্পূর্ণরূপে অ্যাপ্লিকেশনের জন্য একটি লোগো এবং কার্যকলাপের জন্য ডিফল্ট লোগো৷ এই বৈশিষ্ট্যটি একটি অঙ্কনযোগ্য সম্পদের একটি রেফারেন্স হিসাবে সেট করা হয়েছে যার মধ্যে ছবি রয়েছে, যেমন "@drawable/logo" । কোন ডিফল্ট লোগো নেই.
android:manageSpaceActivity
একটি Activity সাবক্লাসের সম্পূর্ণ যোগ্য নাম যা ব্যবহারকারীদের ডিভাইসে অ্যাপ্লিকেশন দ্বারা দখল করা মেমরি পরিচালনা করতে দেওয়ার জন্য সিস্টেম চালু করে। কার্যকলাপ একটি <activity> উপাদান দিয়ে ঘোষণা করা হয়.
android:name
অ্যাপ্লিকেশনের জন্য প্রয়োগ করা একটি Application সাবক্লাসের সম্পূর্ণ যোগ্য নাম। যখন আবেদন প্রক্রিয়া শুরু হয়, তখন এই ক্লাসটি আবেদনের যেকোন উপাদানের আগে তাৎক্ষণিকভাবে চালু করা হয়।

সাবক্লাসটি ঐচ্ছিক। বেশিরভাগ অ্যাপ্লিকেশনের একটির প্রয়োজন নেই। একটি সাবক্লাসের অনুপস্থিতিতে, অ্যান্ড্রয়েড বেস Application ক্লাসের একটি উদাহরণ ব্যবহার করে।

android:networkSecurityConfig

আপনার অ্যাপ্লিকেশনের নেটওয়ার্ক নিরাপত্তা কনফিগারেশন ধারণকারী XML ফাইলের নাম নির্দিষ্ট করে। মান হল কনফিগারেশন ধারণকারী XML রিসোর্স ফাইলের একটি রেফারেন্স।

এই বৈশিষ্ট্যটি API স্তর 24 এ যোগ করা হয়েছে।

android:permission
একটি অনুমতির নাম যা ক্লায়েন্টদের অ্যাপ্লিকেশনের সাথে ইন্টারঅ্যাক্ট করার জন্য প্রয়োজন। এই বৈশিষ্ট্যটি একটি অনুমতি সেট করার একটি সুবিধাজনক উপায় যা অ্যাপ্লিকেশনের সমস্ত উপাদানগুলিতে প্রযোজ্য। এটি পৃথক উপাদানের permission বৈশিষ্ট্য সেট করে ওভাররাইট করা হয়।

অনুমতি সম্পর্কে আরও তথ্যের জন্য, অ্যাপ ম্যানিফেস্ট ওভারভিউ এবং নিরাপত্তা টিপসের অনুমতি বিভাগটি দেখুন।

android:persistent
অ্যাপ্লিকেশনটি সর্বদা চলমান থাকে কিনা। এটা যদি হয় "true" এবং না হলে "false" । ডিফল্ট মান হল "false" । অ্যাপ্লিকেশনগুলি সাধারণত এই পতাকা সেট করে না৷ দৃঢ়তা মোড শুধুমাত্র নির্দিষ্ট সিস্টেম অ্যাপ্লিকেশনের জন্য উদ্দেশ্যে করা হয়.
android:process
একটি প্রক্রিয়ার নাম যেখানে অ্যাপ্লিকেশনের সমস্ত উপাদান চলে। প্রতিটি উপাদান তার নিজস্ব process বৈশিষ্ট্য সেট করে এই ডিফল্ট ওভাররাইড করতে পারে।

ডিফল্টরূপে, অ্যান্ড্রয়েড একটি অ্যাপ্লিকেশনের জন্য একটি প্রক্রিয়া তৈরি করে যখন এর উপাদানগুলির প্রথমটি চালানোর প্রয়োজন হয়। সমস্ত উপাদান তারপর সেই প্রক্রিয়ায় চলে। ডিফল্ট প্রক্রিয়ার নাম <manifest> উপাদান দ্বারা সেট করা প্যাকেজ নামের সাথে মিলে যায়।

অন্য অ্যাপ্লিকেশনের সাথে ভাগ করা একটি প্রক্রিয়ার নামের সাথে এই বৈশিষ্ট্যটি সেট করে, আপনি উভয় অ্যাপ্লিকেশনের উপাদানগুলিকে একই প্রক্রিয়ায় চালানোর ব্যবস্থা করতে পারেন, তবে শুধুমাত্র যদি দুটি অ্যাপ্লিকেশন একটি ব্যবহারকারী আইডি ভাগ করে এবং একই শংসাপত্রের সাথে স্বাক্ষরিত হয়।

যদি এই অ্যাট্রিবিউটের জন্য নির্ধারিত নামটি একটি কোলন ( : ) দিয়ে শুরু হয়, একটি নতুন প্রক্রিয়া, অ্যাপ্লিকেশনের জন্য ব্যক্তিগত, যখন এটি প্রয়োজন হয় তখন তৈরি করা হয়। যদি প্রক্রিয়ার নাম একটি ছোট হাতের অক্ষর দিয়ে শুরু হয়, সেই নামের একটি বিশ্বব্যাপী প্রক্রিয়া তৈরি করা হয়। একটি বিশ্বব্যাপী প্রক্রিয়া অন্যান্য অ্যাপ্লিকেশনের সাথে ভাগ করা যেতে পারে, সম্পদের ব্যবহার হ্রাস করে।

android:restoreAnyVersion
ইঙ্গিত করে যে অ্যাপ্লিকেশনটি যেকোনো ব্যাক-আপ ডেটা সেট পুনরুদ্ধার করার চেষ্টা করার জন্য প্রস্তুত, এমনকি যদি ব্যাকআপটি বর্তমানে ডিভাইসে ইনস্টল করা অ্যাপ্লিকেশনটির একটি নতুন সংস্করণ দ্বারা সঞ্চিত হয়। এই বৈশিষ্ট্যটিকে "true" তে সেট করা ব্যাকআপ ম্যানেজারকে পুনরুদ্ধারের চেষ্টা করতে দেয় এমনকি যখন একটি সংস্করণের অমিল পরামর্শ দেয় যে ডেটা বেমানান। সতর্কতার সাথে ব্যবহার করুন!

এই বৈশিষ্ট্যের ডিফল্ট মান হল "false"

android:requestLegacyExternalStorage

অ্যাপ্লিকেশনটি স্কোপড স্টোরেজ থেকে অপ্ট আউট করতে চায় কিনা৷

দ্রষ্টব্য: নীতি বা অ্যাপ সামঞ্জস্য সম্পর্কিত পরিবর্তনের উপর নির্ভর করে, সিস্টেম এই অপ্ট-আউট অনুরোধকে সম্মান নাও করতে পারে।

android:requiredAccountType
অ্যাপ্লিকেশন দ্বারা কাজ করার জন্য প্রয়োজনীয় অ্যাকাউন্টের ধরন নির্দিষ্ট করে। যদি আপনার অ্যাপের একটি Account প্রয়োজন হয়, তাহলে এই বৈশিষ্ট্যের মান অবশ্যই আপনার অ্যাপ দ্বারা ব্যবহৃত অ্যাকাউন্ট প্রমাণীকরণকারীর প্রকারের সাথে মিলিত হতে হবে, যেমন "com.google" এর মতো AuthenticatorDescription দ্বারা সংজ্ঞায়িত করা হয়েছে।

ডিফল্ট মানটি শূন্য এবং নির্দেশ করে যে অ্যাপ্লিকেশনটি কোনো অ্যাকাউন্ট ছাড়াই কাজ করতে পারে।

যেহেতু সীমাবদ্ধ প্রোফাইলগুলি অ্যাকাউন্ট যোগ করতে পারে না, এই বৈশিষ্ট্যটি নির্দিষ্ট করা আপনার অ্যাপটিকে একটি সীমাবদ্ধ প্রোফাইল থেকে অনুপলব্ধ করে তোলে যদি না আপনি একই মান সহ android:restrictedAccountType ঘোষণা না করেন৷

সতর্কতা: যদি অ্যাকাউন্টের ডেটা ব্যক্তিগতভাবে শনাক্তযোগ্য তথ্য প্রকাশ করতে পারে, তাহলে এটি গুরুত্বপূর্ণ যে আপনি এই বৈশিষ্ট্যটি ঘোষণা করুন এবং android:restrictedAccountType শূন্য রেখে দিন, যাতে সীমাবদ্ধ প্রোফাইলগুলি মালিক ব্যবহারকারীর ব্যক্তিগত তথ্য অ্যাক্সেস করতে আপনার অ্যাপ ব্যবহার করতে না পারে৷

এই বৈশিষ্ট্যটি API স্তর 18 এ যোগ করা হয়েছে।

android:resizeableActivity

অ্যাপটি মাল্টি-উইন্ডো মোড সমর্থন করে কিনা তা নির্দিষ্ট করে৷ আপনি এই বৈশিষ্ট্যটি <activity> বা <application> উপাদানে সেট করতে পারেন।

আপনি যদি এই বৈশিষ্ট্যটি "true" তে সেট করেন, ব্যবহারকারী স্প্লিট-স্ক্রিন এবং ফ্রি-ফর্ম মোডে কার্যকলাপ চালু করতে পারেন। আপনি যদি অ্যাট্রিবিউটটিকে "false" তে সেট করেন, তাহলে অ্যাপটি একাধিক-উইন্ডো পরিবেশের জন্য পরীক্ষা বা অপ্টিমাইজ করা যাবে না। সিস্টেম এখনও সামঞ্জস্য মোড প্রয়োগের সাথে একাধিক-উইন্ডো মোডে কার্যকলাপ রাখতে পারে।

এই বৈশিষ্ট্যটিকে "true" তে সেট করা গ্যারান্টি দেয় না যে মাল্টি-উইন্ডো মোডে পর্দায় দৃশ্যমান অন্য কোনও অ্যাপ নেই, যেমন পিকচার-ইন-পিকচার বা অন্যান্য ডিসপ্লেতে। অতএব, এই পতাকা সেট করার অর্থ এই নয় যে আপনার অ্যাপের একচেটিয়া সম্পদ অ্যাক্সেস আছে।

API স্তর 24 বা উচ্চতর টার্গেট করা অ্যাপগুলির জন্য, ডিফল্ট হল "true"

যদি আপনার অ্যাপ এপিআই লেভেল 31 বা তার বেশি টার্গেট করে, তাহলে এই অ্যাট্রিবিউটটি ছোট এবং বড় স্ক্রিনে ভিন্নভাবে কাজ করে:

  • বড় স্ক্রীন (sw >= 600dp): সমস্ত অ্যাপ মাল্টি-উইন্ডো মোড সমর্থন করে। অ্যাট্রিবিউটটি নির্দেশ করে যে একটি অ্যাপের আকার পরিবর্তন করা যাবে কিনা, অ্যাপটি মাল্টি-উইন্ডো মোড সমর্থন করে কিনা তা নয়। resizeableActivity="false" হলে, ডিসপ্লে ডাইমেনশনের সাথে সামঞ্জস্য করার জন্য অ্যাপটিকে সামঞ্জস্যপূর্ণ মোডে রাখা হয়।
  • ছোট স্ক্রীন (sw <600dp): যদি resizeableActivity="true" এবং প্রধান কার্যকলাপের ন্যূনতম প্রস্থ এবং ন্যূনতম উচ্চতা মাল্টি-উইন্ডো প্রয়োজনীয়তার মধ্যে থাকে, অ্যাপটি মাল্টি-উইন্ডো মোড সমর্থন করে। resizeableActivity="false" হলে, অ্যাপ্লিকেশানটি ন্যূনতম প্রস্থ এবং উচ্চতা নির্বিশেষে একাধিক-উইন্ডো মোড সমর্থন করে না৷

দ্রষ্টব্য: ডিভাইস নির্মাতারা API স্তর 31 আচরণকে ওভাররাইড করতে পারে।

এই বৈশিষ্ট্যটি API স্তর 24 এ যোগ করা হয়েছে।

দ্রষ্টব্য: একটি টাস্কের রুট অ্যাক্টিভিটি মান টাস্কে চালু করা সমস্ত অতিরিক্ত অ্যাক্টিভিটিগুলিতে প্রয়োগ করা হয়। অর্থাৎ, যদি কোনো টাস্কের রুট অ্যাক্টিভিটি রিসাইজ করা যায়, তাহলে সিস্টেম টাস্কের অন্য সব অ্যাক্টিভিটিকে রিসাইজযোগ্য হিসেবে বিবেচনা করে। রুট অ্যাক্টিভিটি রিসাইজ করা না গেলে, টাস্কের অন্যান্য অ্যাক্টিভিটি রিসাইজ করা যায় না।

android:restrictedAccountType
এই অ্যাপ্লিকেশনটির জন্য প্রয়োজনীয় অ্যাকাউন্টের ধরন নির্দিষ্ট করে এবং নির্দেশ করে যে সীমাবদ্ধ প্রোফাইলগুলি মালিক ব্যবহারকারীর অন্তর্গত অ্যাকাউন্টগুলিতে অ্যাক্সেস করতে পারে৷ যদি আপনার অ্যাপের জন্য একটি Account প্রয়োজন হয় এবং সীমাবদ্ধ প্রোফাইলগুলি প্রাথমিক ব্যবহারকারীর অ্যাকাউন্টগুলি অ্যাক্সেস করতে পারে , তাহলে এই বৈশিষ্ট্যের মান অবশ্যই আপনার অ্যাপের দ্বারা ব্যবহৃত অ্যাকাউন্ট প্রমাণীকরণকারীর প্রকারের সাথে মিলিত হতে হবে, যেমন "com.google" এর মতো AuthenticatorDescription দ্বারা সংজ্ঞায়িত করা হয়েছে।

ডিফল্ট মানটি শূন্য এবং নির্দেশ করে যে অ্যাপ্লিকেশনটি কোনো অ্যাকাউন্ট ছাড়াই কাজ করতে পারে।

সতর্কতা: এই বৈশিষ্ট্যটি নির্দিষ্ট করার ফলে সীমাবদ্ধ প্রোফাইলগুলি মালিক ব্যবহারকারীর অন্তর্গত অ্যাকাউন্টগুলির সাথে আপনার অ্যাপ ব্যবহার করতে দেয়, যা ব্যক্তিগতভাবে সনাক্তযোগ্য তথ্য প্রকাশ করতে পারে। যদি অ্যাকাউন্ট ব্যক্তিগত বিবরণ প্রকাশ করতে পারে, তাহলে এই বৈশিষ্ট্যটি ব্যবহার করবেন না । পরিবর্তে, আপনার অ্যাপটিকে সীমাবদ্ধ প্রোফাইলে অনুপলব্ধ করতে android:requiredAccountType বৈশিষ্ট্যটি ঘোষণা করুন।

এই বৈশিষ্ট্যটি API স্তর 18 এ যোগ করা হয়েছে।

android:supportsRtl

আপনার অ্যাপ্লিকেশন ডান-থেকে-বাম (RTL) লেআউট সমর্থন করতে ইচ্ছুক কিনা তা ঘোষণা করে।

যদি এটি "true" তে সেট করা থাকে এবং targetSdkVersion 17 বা তার বেশি সেট করা থাকে, তাহলে বিভিন্ন RTL API সক্রিয় করা হয় এবং সিস্টেম দ্বারা ব্যবহার করা হয় যাতে আপনার অ্যাপটি RTL লেআউটগুলি প্রদর্শন করতে পারে৷ যদি এটি "false" তে সেট করা থাকে বা targetSdkVersion 16 বা তার নিচে সেট করা থাকে, তাহলে RTL APIগুলিকে উপেক্ষা করা হয় বা কোনো প্রভাব না থাকে এবং ব্যবহারকারীর লোকেল পছন্দের সাথে যুক্ত লেআউট দিক নির্বিশেষে আপনার অ্যাপ একই আচরণ করে। অর্থাৎ, আপনার লেআউট সবসময় বাম থেকে ডানে থাকে।

এই বৈশিষ্ট্যের ডিফল্ট মান হল "false"

এই বৈশিষ্ট্যটি API স্তর 17 এ যোগ করা হয়েছে।

android:taskAffinity
একটি অ্যাফিনিটি নাম যা অ্যাপ্লিকেশনের মধ্যে থাকা সমস্ত ক্রিয়াকলাপের ক্ষেত্রে প্রযোজ্য, তাদের নিজস্ব taskAffinity বৈশিষ্ট্যগুলির সাথে একটি আলাদা সখ্যতা সেট করা ছাড়া৷ আরো তথ্যের জন্য যে বৈশিষ্ট্য দেখুন.

ডিফল্টরূপে, একটি অ্যাপ্লিকেশনের মধ্যে সমস্ত ক্রিয়াকলাপ একই সম্বন্ধ ভাগ করে নেয়। সেই অ্যাফিনিটির নামটি <manifest> উপাদান দ্বারা সেট করা প্যাকেজের নামের মতই।

android:testOnly
এই অ্যাপ্লিকেশনটি শুধুমাত্র পরীক্ষার উদ্দেশ্যে কিনা তা নির্দেশ করে৷ উদাহরণস্বরূপ, এটি কার্যকারিতা বা ডেটা নিজের বাইরে প্রকাশ করতে পারে যা একটি নিরাপত্তা গর্তের কারণ হতে পারে, কিন্তু পরীক্ষার জন্য দরকারী। এই ধরনের APK শুধুমাত্র adb এর মাধ্যমে ইনস্টল করা হয়। আপনি এটি Google Play এ প্রকাশ করতে পারবেন না।

আপনি রান ক্লিক করলে অ্যান্ড্রয়েড স্টুডিও স্বয়ংক্রিয়ভাবে এই বৈশিষ্ট্যটি যোগ করে .

android:theme
অ্যাপ্লিকেশনের সমস্ত ক্রিয়াকলাপের জন্য একটি ডিফল্ট থিম সংজ্ঞায়িত করে একটি শৈলী সংস্থানের একটি রেফারেন্স৷ স্বতন্ত্র ক্রিয়াকলাপগুলি তাদের নিজস্ব theme বৈশিষ্ট্যগুলি সেট করে ডিফল্টটিকে ওভাররাইড করতে পারে। আরও তথ্যের জন্য, শৈলী এবং থিম দেখুন।
android:uiOptions
একটি কার্যকলাপের UI এর জন্য অতিরিক্ত বিকল্প। নিম্নলিখিত মানগুলির মধ্যে একটি হতে হবে:
মান বর্ণনা
"none" কোনো অতিরিক্ত UI বিকল্প নেই। এটি ডিফল্ট।
"splitActionBarWhenNarrow" অ্যাপ বারে অ্যাকশন আইটেমগুলি প্রদর্শন করতে স্ক্রিনের নীচে একটি বার যুক্ত করে, যা অ্যাকশন বার নামেও পরিচিত, যখন অনুভূমিক স্থানের জন্য সীমাবদ্ধ থাকে, যেমন যখন হ্যান্ডসেটে প্রতিকৃতি মোডে থাকে৷ স্ক্রিনের শীর্ষে অ্যাপ বারে অল্প সংখ্যক অ্যাকশন আইটেম প্রদর্শিত হওয়ার পরিবর্তে, অ্যাপ বারটি উপরের নেভিগেশন বিভাগে এবং অ্যাকশন আইটেমগুলির জন্য নীচের বারে বিভক্ত হয়ে যায়। এর অর্থ হল অ্যাকশন আইটেমগুলির জন্য এবং শীর্ষে নেভিগেশন এবং শিরোনাম উপাদানগুলির জন্য একটি যুক্তিসঙ্গত পরিমাণ স্থান উপলব্ধ৷ মেনু আইটেম দুটি বার জুড়ে বিভক্ত করা হয় না. তারা সবসময় একসঙ্গে দেখা যায়।

অ্যাপ বার সম্পর্কে আরও তথ্যের জন্য, অ্যাপ বার যোগ করুন দেখুন।

এই বৈশিষ্ট্যটি API স্তর 14 এ যোগ করা হয়েছে।

android:usesCleartextTraffic
অ্যাপটি ক্লিয়ারটেক্সট এইচটিটিপির মতো ক্লিয়ারটেক্সট নেটওয়ার্ক ট্রাফিক ব্যবহার করতে চায় কিনা তা নির্দেশ করে। এপিআই লেভেল 27 বা তার নিচের অ্যাপ্লিকেশানগুলির জন্য ডিফল্ট মান হল "true" ৷ যে অ্যাপগুলি API স্তর 28 বা উচ্চতর ডিফল্টকে "false" তে লক্ষ্য করে।

যখন অ্যাট্রিবিউটটি "false" তে সেট করা হয়, প্ল্যাটফর্মের উপাদানগুলি, উদাহরণস্বরূপ, HTTP এবং FTP স্ট্যাক, DownloadManager এবং MediaPlayer , ক্লিয়ারটেক্সট ট্র্যাফিক ব্যবহার করার জন্য অ্যাপের অনুরোধগুলি প্রত্যাখ্যান করে৷

তৃতীয় পক্ষের লাইব্রেরিগুলিকেও এই সেটিংটিকে সম্মান করার জন্য দৃঢ়ভাবে উত্সাহিত করা হয়৷ ক্লিয়ারটেক্সট ট্র্যাফিক এড়ানোর মূল কারণ হল গোপনীয়তা, সত্যতা এবং টেম্পারিংয়ের বিরুদ্ধে সুরক্ষার অভাব। একটি নেটওয়ার্ক আক্রমণকারী ট্রান্সমিটেড ডেটা লুকিয়ে রাখতে পারে এবং সনাক্ত না করেই এটি পরিবর্তন করতে পারে।

এই পতাকাটিকে সর্বোত্তম প্রচেষ্টার ভিত্তিতে সম্মানিত করা হয়েছে কারণ Android অ্যাপ্লিকেশানগুলিকে প্রদত্ত অ্যাক্সেসের স্তরের ভিত্তিতে সমস্ত ক্লিয়ারটেক্সট ট্র্যাফিক প্রতিরোধ করা অসম্ভব৷ উদাহরণস্বরূপ, Socket এপিআই এই পতাকাটিকে সম্মান করবে এমন কোন প্রত্যাশা নেই, কারণ এটির ট্র্যাফিক স্পষ্ট পাঠ্যে আছে কিনা তা নির্ধারণ করতে পারে না।

যাইহোক, অ্যাপ্লিকেশনগুলি থেকে বেশিরভাগ নেটওয়ার্ক ট্র্যাফিক উচ্চ-স্তরের নেটওয়ার্ক স্ট্যাক এবং উপাদানগুলির দ্বারা পরিচালিত হয়, যা ApplicationInfo.flags বা NetworkSecurityPolicy.isCleartextTrafficPermitted() থেকে পড়ে এই পতাকাটিকে সম্মান করতে পারে।

দ্রষ্টব্য: WebView এপিআই স্তর 26 এবং উচ্চতর টার্গেট করা অ্যাপ্লিকেশনগুলির জন্য এই বৈশিষ্ট্যটিকে সম্মান করে৷

অ্যাপ ডেভেলপমেন্টের সময়, স্ট্রিক্টমোড অ্যাপ থেকে যেকোনো ক্লিয়ারটেক্সট ট্র্যাফিক সনাক্ত করতে ব্যবহার করা যেতে পারে। আরও তথ্যের জন্য, StrictMode.VmPolicy.Builder.detectCleartextNetwork() দেখুন।

এই বৈশিষ্ট্যটি API স্তর 23 এ যোগ করা হয়েছে।

এই পতাকাটি Android 7.0 (API স্তর 24) এবং তার উপরে উপেক্ষা করা হয় যদি একটি Android নেটওয়ার্ক নিরাপত্তা কনফিগ উপস্থিত থাকে।

android:vmSafeMode
অ্যাপটি ভার্চুয়াল মেশিন (VM) নিরাপদ মোডে কাজ করতে চায় কিনা তা নির্দেশ করে। ডিফল্ট মান হল "false"

এই অ্যাট্রিবিউটটি API লেভেল 8 এ যোগ করা হয়েছে, যেখানে "true" এর একটি মান ডালভিক জাস্ট-ইন-টাইম (JIT) কম্পাইলারকে নিষ্ক্রিয় করেছে।

এই বৈশিষ্ট্যটি API স্তর 22-এ অভিযোজিত হয়েছিল, যেখানে "true" -এর একটি মান ART-কে এগিয়ে-অফ-টাইম (AOT) কম্পাইলারকে নিষ্ক্রিয় করে।

প্রবর্তিত:
API স্তর 1
এছাড়াও দেখুন:
<activity>
<service>
<receiver>
<provider>