<برنامه>

نحو:
<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" غیرفعال کنید، حتی اگر برنامه شما اندروید 12 (سطح API 31) یا بالاتر را هدف قرار دهد.

برای اطلاعات بیشتر، بخش پشتیبان‌گیری و بازیابی صفحه را ببینید که تغییرات رفتاری برنامه‌هایی را که Android 12 (سطح API 31) یا بالاتر را هدف قرار می‌دهند توضیح می‌دهد.

android:allowClearUserData

آیا به برنامه اجازه داده شود که داده‌های کاربر را بازنشانی کند یا خیر. این داده‌ها شامل پرچم‌هایی هستند، مانند اینکه آیا کاربر نکات ابزار مقدماتی را دیده است یا خیر، و همچنین تنظیمات و اولویت‌های قابل تنظیم توسط کاربر. مقدار پیش فرض این ویژگی "true" است.

توجه: فقط برنامه هایی که بخشی از تصویر سیستم هستند می توانند این ویژگی را به صراحت اعلام کنند. برنامه های شخص ثالث نمی توانند این ویژگی را در فایل های مانیفست خود قرار دهند.

برای اطلاعات بیشتر، به نمای کلی پشتیبان‌گیری از داده‌ها مراجعه کنید.

android:allowCrossUidActivitySwitchFromBelow

مشخص می کند که آیا فعالیت های زیر این یکی در کار می توانند فعالیت های دیگری را نیز شروع کنند یا کار را به پایان برسانند.

با شروع از Target SDK Level Build.VERSION_CODES.VANILLA_ICE_CREAM ، برنامه‌ها ممکن است از شروع فعالیت‌های جدید یا اتمام کار خود مسدود شوند، مگر اینکه فعالیت اصلی چنین کاری به دلایل امنیتی متعلق به همان UID باشد.

تنظیم این پرچم روی true به برنامه راه‌اندازی اجازه می‌دهد که اگر این فعالیت در بالا باشد، محدودیت را نادیده بگیرد. برنامه‌های مطابق با UID این فعالیت همیشه مستثنی هستند.

برای اطلاعات بیشتر، راه‌اندازی فعالیت پس‌زمینه امن را ببینید.

android:allowNativeHeapPointerTagging

این که آیا برنامه ویژگی برچسب‌گذاری نشانگر Heap را فعال می‌کند یا خیر. مقدار پیش فرض این ویژگی "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" است، به این معنی که سیستم عامل از تهیه نسخه پشتیبان از برنامه در حالی که در پیش‌زمینه در حال اجرا است، اجتناب می‌کند، مانند برنامه موسیقی که به طور فعال موسیقی را با استفاده از سرویسی در حالت startForeground() پخش می‌کند.

android:banner
یک منبع قابل ترسیم که یک بنر گرافیکی توسعه یافته برای مورد مرتبط خود ارائه می دهد. با تگ <application> برای ارائه یک بنر پیش فرض برای تمام فعالیت های برنامه یا با تگ <activity> برای تهیه بنر برای یک فعالیت خاص استفاده کنید.

این سیستم از بنر برای نمایش یک برنامه در صفحه اصلی Android TV استفاده می کند. بنابراین، این را فقط برای برنامه‌هایی با فعالیتی که هدف CATEGORY_LEANBACK_LAUNCHER را مدیریت می‌کنند، مشخص کنید.

این ویژگی به عنوان یک مرجع به یک منبع قابل ترسیم حاوی تصویر، به عنوان مثال "@drawable/banner" تنظیم شده است. هیچ بنر پیش فرضی وجود ندارد.

برای اطلاعات بیشتر، به ارائه بنر صفحه اصلی مراجعه کنید.

android:dataExtractionRules

برنامه‌ها می‌توانند این ویژگی را روی یک منبع XML تنظیم کنند، جایی که قوانینی را تعیین می‌کنند که کدام فایل‌ها و دایرکتوری‌ها را می‌توان از دستگاه به عنوان بخشی از عملیات پشتیبان‌گیری یا انتقال کپی کرد.

برای اطلاعات در مورد فرمت فایل XML، به پشتیبان گیری و بازیابی مراجعه کنید.

android:debuggable
این که آیا برنامه را می توان اشکال زدایی کرد، حتی زمانی که روی دستگاهی در حالت کاربر اجرا می شود. اگر می تواند "true" است و اگر نه "false" . مقدار پیش فرض "false" است.
android:description
متن قابل خواندن توسط کاربر در مورد برنامه، که طولانی تر و توصیفی تر از برچسب برنامه است. مقدار به عنوان یک مرجع به یک منبع رشته تنظیم می شود. برخلاف برچسب، نمی تواند یک رشته خام باشد. هیچ مقدار پیش فرض وجود ندارد.
android:enabled
آیا سیستم Android می‌تواند اجزای برنامه را نمونه‌سازی کند یا خیر. اگر بتواند "true" است و اگر نه "false" . اگر مقدار "true" باشد، مشخصه enabled هر جزء تعیین می کند که آیا آن جزء فعال است یا خیر. اگر مقدار "false" باشد، مقادیر خاص جزء را لغو می کند و همه اجزا غیرفعال می شوند.

مقدار پیش فرض "true" است.

android:extractNativeLibs

با شروع AGP 4.2.0، گزینه DSL useLegacyPackaging جایگزین ویژگی مانیفست extractNativeLibs می شود. از useLegacyPackaging در فایل build.gradle برنامه خود به جای extractNativeLibs در فایل مانیفست برای پیکربندی رفتار فشرده سازی کتابخانه بومی استفاده کنید. برای اطلاعات بیشتر، به یادداشت انتشار مراجعه کنید از DSL برای بسته بندی کتابخانه های بومی فشرده استفاده کنید .

این ویژگی نشان می دهد که آیا نصب کننده بسته، کتابخانه های بومی را از APK به سیستم فایل استخراج می کند یا خیر. اگر روی "false" تنظیم شود، کتابخانه های بومی شما به صورت فشرده در APK ذخیره می شوند. اگرچه ممکن است APK شما بزرگتر باشد، برنامه شما سریعتر بارگیری می شود زیرا کتابخانه ها در زمان اجرا مستقیماً از APK بارگیری می شوند.

مقدار پیش فرض extractNativeLibs به minSdkVersion و نسخه AGP که استفاده می کنید بستگی دارد. در بیشتر موارد، رفتار پیش‌فرض احتمالاً همان چیزی است که شما می‌خواهید، و نیازی نیست که این ویژگی را به صراحت تنظیم کنید.

android:fullBackupContent
این ویژگی به یک فایل XML اشاره می‌کند که حاوی قوانین پشتیبان‌گیری کامل برای پشتیبان‌گیری خودکار است. این قوانین تعیین می کنند که از چه فایل هایی بک آپ گرفته می شود. برای اطلاعات بیشتر، به نحو پیکربندی XML برای پشتیبان‌گیری خودکار مراجعه کنید.

این ویژگی اختیاری است. اگر مشخص نشده باشد، به طور پیش‌فرض، پشتیبان‌گیری خودکار بیشتر فایل‌های برنامه شما را شامل می‌شود. برای اطلاعات بیشتر، به فایل‌هایی که پشتیبان‌گیری شده‌اند مراجعه کنید.

android:fullBackupOnly
این ویژگی نشان می‌دهد که آیا از پشتیبان‌گیری خودکار در دستگاه‌هایی که در دسترس است استفاده شود یا خیر. اگر روی "true" تنظیم شود، برنامه شما وقتی روی دستگاهی با Android نسخه ۶.۰ (سطح API ۲۳) یا بالاتر نصب می‌شود، پشتیبان‌گیری خودکار انجام می‌دهد. در دستگاه‌های قدیمی‌تر، برنامه شما این ویژگی را نادیده می‌گیرد و از کلید/مقدار پشتیبان‌گیری می‌کند.

مقدار پیش فرض "false" است.

android:gwpAsanMode
این ویژگی نشان می‌دهد که آیا باید از GWP-ASan ، یک ویژگی تخصیص‌دهنده حافظه بومی که به یافتن اشکال‌های استفاده پس از استفاده رایگان و heap-buffer-overflow کمک می‌کند، استفاده کرد.

مقدار پیش فرض "never" است.

android:hasCode
این که آیا برنامه حاوی هر کد DEX باشد، یعنی کدی با استفاده از زبان برنامه نویسی Kotlin یا Java. اگر این کار را کرد "true" و اگر نه "false" است. هنگامی که مقدار "false" است، سیستم سعی نمی کند هیچ کد برنامه ای را هنگام راه اندازی اجزا بارگیری کند. مقدار پیش فرض "true" است.

اگر برنامه دارای کد بومی (C/C++) باشد، اما کد DEX ندارد، باید روی "false" تنظیم شود. اگر زمانی که APK حاوی کد DEX نیست، روی "true" تنظیم شود، ممکن است برنامه بارگیری نشود.

این ویژگی باید کد موجود در برنامه را بر اساس وابستگی ها در نظر بگیرد. اگر برنامه به یک AAR که از کد جاوا/کاتلین استفاده می‌کند یا مستقیماً روی یک JAR بستگی دارد، app:hasCode باید "true" باشد یا حذف شود زیرا پیش‌فرض است.

برای مثال، برنامه شما ممکن است از تحویل ویژگی Play پشتیبانی کند و شامل ماژول‌های ویژگی باشد که هیچ فایل DEX تولید نمی‌کنند، که بایت کد برای پلتفرم Android بهینه‌سازی شده است. اگر چنین است، باید این ویژگی را در فایل مانیفست ماژول روی "false" تنظیم کنید تا از خطاهای زمان اجرا جلوگیری کنید.

android:hasFragileUserData
وقتی کاربر برنامه را حذف نصب می‌کند، درخواستی برای حفظ داده‌های برنامه به کاربر نشان داده شود. مقدار پیش فرض "false" است.
android:hardwareAccelerated
اینکه آیا رندر سخت افزاری برای همه فعالیت ها و نمایش ها در این برنامه فعال است یا خیر. اگر فعال باشد "true" و در غیر این صورت "false" است. اگر minSdkVersion یا targetSdkVersion را روی "14" یا بالاتر تنظیم کنید، مقدار پیش فرض "true" است. در غیر این صورت، "false" است.

با شروع از Android 3.0 (سطح API 11)، یک رندر OpenGL با شتاب سخت افزاری برای برنامه ها در دسترس است تا عملکرد بسیاری از عملیات گرافیکی دوبعدی رایج را بهبود بخشد. هنگامی که رندر شتاب‌دهنده سخت‌افزاری فعال است، بیشتر عملیات‌ها در Canvas، Paint، Xfermode، ColorFilter، Shader و Camera تسریع می‌شوند.

این منجر به انیمیشن‌های روان‌تر، اسکرول نرم‌تر و به طور کلی پاسخ‌دهی بهتر می‌شود، حتی برای برنامه‌هایی که به‌صراحت از کتابخانه‌های OpenGL چارچوب استفاده نمی‌کنند.

همه عملیات OpenGL 2D تسریع نمی شوند. اگر رندر شتاب‌دهنده سخت‌افزاری را فعال می‌کنید، برنامه خود را آزمایش کنید تا بتواند بدون خطا از رندرکننده استفاده کند.

برای اطلاعات بیشتر، راهنمای شتاب سخت افزار را بخوانید.

android:icon
یک نماد برای کل برنامه و نماد پیش فرض برای هر یک از اجزای برنامه. ویژگی‌های icon منفرد را برای عناصر <activity> ، <activity-alias> ، <service> ، <receiver> و <provider> مشاهده کنید.

این ویژگی به عنوان یک مرجع به یک منبع قابل ترسیم حاوی تصویر، مانند "@drawable/icon" تنظیم شده است. هیچ نماد پیش فرضی وجود ندارد.

android:isGame
این که آیا برنامه یک بازی است. این سیستم ممکن است برنامه هایی را که به عنوان بازی طبقه بندی می شوند را با هم گروه بندی کند یا آنها را جدا از سایر برنامه ها نمایش دهد. پیش فرض "false" است.
android:isMonitoringTool

نشان می دهد که این برنامه برای نظارت بر افراد دیگر طراحی شده است.

توجه: اگر برنامه‌ای این ویژگی را در مانیفست خود اعلام کند، توسعه‌دهنده باید خط‌مشی Stalkerware را برای انتشار برنامه در Google Play دنبال کند.

هیچ مقدار پیش فرض وجود ندارد. توسعه دهنده باید یکی از مقادیر زیر را مشخص کند:

ارزش توضیحات
"parental_control" برنامه به کنترل والدین کمک می کند و به طور خاص والدینی را هدف قرار می دهد که می خواهند فرزندان خود را ایمن نگه دارند.
"enterprise_management" برنامه به شرکت هایی که می خواهند دستگاه های داده شده به کارمندان را مدیریت و ردیابی کنند، پاسخ می دهد.
"other" برنامه به یک مورد استفاده می‌پردازد که در این جدول مشخص نشده است.
android:killAfterRestore

اینکه آیا برنامه پس از بازیابی تنظیمات آن در طی عملیات بازیابی کامل سیستم خاتمه می یابد یا خیر. عملیات بازیابی یک بسته هرگز باعث خاموش شدن برنامه نمی شود. عملیات بازیابی کامل سیستم معمولاً فقط یک بار، زمانی که تلفن برای اولین بار راه اندازی می شود، انجام می شود. برنامه های شخص ثالث معمولاً نیازی به استفاده از این ویژگی ندارند.

پیش‌فرض "true" است، به این معنی که پس از اینکه برنامه پردازش داده‌های خود را در طول بازیابی کامل سیستم تمام کرد، پایان می‌یابد.

android:largeHeap

آیا فرآیندهای برنامه با یک پشته بزرگ Dalvik ایجاد شده است. این برای تمام فرآیندهای ایجاد شده برای برنامه اعمال می شود. این فقط برای اولین برنامه بارگذاری شده در یک فرآیند اعمال می شود. اگر از یک شناسه کاربری مشترک استفاده می کنید تا به چندین برنامه اجازه دهید از یک فرآیند استفاده کنند، همه آنها باید به طور مداوم از این گزینه استفاده کنند تا از نتایج غیرقابل پیش بینی جلوگیری شود.

اکثر برنامه ها به این نیاز ندارند و در عوض بر کاهش مصرف کلی حافظه خود برای بهبود عملکرد تمرکز می کنند. فعال کردن این نیز افزایش ثابتی در حافظه در دسترس را تضمین نمی کند، زیرا برخی از دستگاه ها توسط کل حافظه موجود محدود شده اند.

برای پرس و جو از اندازه حافظه موجود در زمان اجرا، از متدهای getMemoryClass() یا getLargeMemoryClass() استفاده کنید.

android:label
یک برچسب قابل خواندن توسط کاربر برای برنامه به طور کلی و یک برچسب پیش فرض برای هر یک از اجزای برنامه. ویژگی‌های label جداگانه برای عناصر <activity> ، <activity-alias> ، <service> ، <receiver> و <provider> را ببینید.

برچسب به عنوان یک مرجع به یک منبع رشته تنظیم می شود، به طوری که می توان آن را مانند سایر رشته ها در رابط کاربری محلی کرد. با این حال، به عنوان یک راحتی در هنگام توسعه برنامه، می توان آن را به عنوان یک رشته خام نیز تنظیم کرد.

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 نیاز دارد، مقدار این ویژگی باید مطابق با نوع احراز هویت حساب مورد استفاده توسط برنامه شما باشد، همانطور که توسط AuthenticatorDescription تعریف شده است، مانند "com.google" .

مقدار پیش فرض null است و نشان می دهد که برنامه می تواند بدون هیچ حساب کاربری کار کند.

از آنجا که نمایه‌های محدود شده نمی‌توانند حساب اضافه کنند، تعیین این ویژگی باعث می‌شود برنامه شما از نمایه‌ای محدود در دسترس نباشد، مگر اینکه android:restrictedAccountType با همان مقدار اعلام کنید.

احتیاط: اگر داده‌های حساب ممکن است اطلاعات شناسایی شخصی را نشان دهند، مهم است که این ویژگی را اعلام کرده و android:restrictedAccountType خالی بگذارید تا نمایه‌های محدود شده نتوانند از برنامه شما برای دسترسی به اطلاعات شخصی که متعلق به کاربر مالک است استفاده کنند.

این ویژگی در سطح 18 API اضافه شده است.

android:resizeableActivity

مشخص می کند که آیا برنامه از حالت چند پنجره ای پشتیبانی می کند یا خیر. می توانید این ویژگی را در عنصر <activity> یا <application> تنظیم کنید.

اگر این ویژگی را روی "true" تنظیم کنید، کاربر می تواند فعالیت را در حالت های تقسیم صفحه و حالت آزاد راه اندازی کند. اگر ویژگی را روی "false" تنظیم کنید، برنامه را نمی توان برای یک محیط چند پنجره ای آزمایش یا بهینه کرد. سیستم همچنان می‌تواند فعالیت را در حالت چند پنجره‌ای با حالت سازگاری اعمال شده قرار دهد.

تنظیم این ویژگی روی "true" تضمین نمی کند که هیچ برنامه دیگری در حالت چند پنجره ای روی صفحه قابل مشاهده نباشد، مانند تصویر در تصویر، یا روی نمایشگرهای دیگر. بنابراین، تنظیم این پرچم به این معنی نیست که برنامه شما به منابع انحصاری دسترسی دارد.

برای برنامه‌هایی که سطح API 24 یا بالاتر را هدف قرار می‌دهند، پیش‌فرض "true" است.

اگر برنامه شما سطح API 31 یا بالاتر را هدف قرار می‌دهد، این ویژگی در صفحه‌های کوچک و بزرگ متفاوت عمل می‌کند:

  • صفحه نمایش بزرگ (sw >= 600dp): همه برنامه ها از حالت چند پنجره ای پشتیبانی می کنند. این ویژگی نشان می‌دهد که آیا می‌توان اندازه برنامه را تغییر داد، نه اینکه آیا برنامه از حالت چند پنجره‌ای پشتیبانی می‌کند یا خیر. اگر resizeableActivity="false" ، برنامه در صورت لزوم در حالت سازگاری قرار می گیرد تا با ابعاد نمایش مطابقت داشته باشد.
  • نمایشگرهای کوچک (sw < 600dp): اگر resizeableActivity="true" و حداقل عرض و حداقل ارتفاع فعالیت اصلی در شرایط چند پنجره ای باشد، برنامه از حالت چند پنجره ای پشتیبانی می کند. اگر resizeableActivity="false" ، برنامه بدون در نظر گرفتن حداقل عرض و ارتفاع فعالیت، از حالت چند پنجره ای پشتیبانی نمی کند.

توجه: سازندگان دستگاه می توانند رفتار سطح 31 API را لغو کنند.

این ویژگی در سطح API 24 اضافه شد.

توجه: مقدار فعالیت ریشه یک کار برای تمام فعالیت های اضافی راه اندازی شده در کار اعمال می شود. به این معنا که اگر فعالیت ریشه یک کار قابل تغییر اندازه باشد، آنگاه سیستم تمام فعالیت‌های دیگر در کار را به‌عنوان قابل تغییر اندازه در نظر می‌گیرد. اگر اکتیویتی ریشه قابل تغییر اندازه نباشد، سایر فعالیت‌های موجود در کار قابل تغییر اندازه نیستند.

android:restrictedAccountType
نوع حساب مورد نیاز این برنامه را مشخص می کند و نشان می دهد که نمایه های محدود شده می توانند به چنین حساب هایی که متعلق به کاربر مالک هستند دسترسی داشته باشند. اگر برنامه شما به یک Account نیاز دارد و نمایه‌های محدود شده می‌توانند به حساب‌های کاربر اصلی دسترسی داشته باشند، مقدار این ویژگی باید مطابق با نوع احراز هویت حساب مورد استفاده توسط برنامه شما باشد، همانطور که توسط AuthenticatorDescription ، مانند "com.google" تعریف شده است.

مقدار پیش فرض null است و نشان می دهد که برنامه می تواند بدون هیچ حساب کاربری کار کند.

احتیاط: تعیین این ویژگی به نمایه‌های محدود شده اجازه می‌دهد از برنامه شما با حساب‌هایی استفاده کنند که متعلق به کاربر مالک است، که ممکن است اطلاعات قابل شناسایی شخصی را فاش کند. اگر حساب ممکن است جزئیات شخصی را فاش کند، از این ویژگی استفاده نکنید . در عوض، ویژگی android:requiredAccountType را اعلام کنید تا برنامه شما برای پروفایل های محدود در دسترس نباشد.

این ویژگی در سطح 18 API اضافه شده است.

android:supportsRtl

اعلام می کند که آیا برنامه شما مایل به پشتیبانی از طرح بندی راست به چپ (RTL) است یا خیر.

اگر روی "true" و targetSdkVersion روی 17 یا بالاتر تنظیم شده باشد، API های مختلف RTL فعال شده و توسط سیستم استفاده می شود تا برنامه شما بتواند طرح بندی های RTL را نمایش دهد. اگر روی "false" تنظیم شود یا اگر targetSdkVersion روی 16 یا کمتر تنظیم شده باشد، APIهای RTL نادیده گرفته می شوند یا هیچ تاثیری ندارند، و برنامه شما بدون توجه به جهت چیدمان مرتبط با انتخاب محلی کاربر، یکسان عمل می کند. یعنی چیدمان های شما همیشه چپ به راست هستند.

مقدار پیش فرض این ویژگی "false" است.

این ویژگی در سطح API 17 اضافه شده است.

android:taskAffinity
یک نام وابستگی که برای همه فعالیت‌های درون برنامه اعمال می‌شود، به‌جز آن‌هایی که وابستگی متفاوتی را با ویژگی‌های taskAffinity خود تنظیم می‌کنند. برای اطلاعات بیشتر به آن ویژگی مراجعه کنید.

به‌طور پیش‌فرض، همه فعالیت‌های درون یک برنامه دارای شباهت یکسانی هستند. نام آن وابستگی همان نام بسته تنظیم شده توسط عنصر <manifest> است.

android:testOnly
نشان می دهد که آیا این برنامه فقط برای اهداف آزمایشی است یا خیر. به عنوان مثال، ممکن است عملکرد یا داده های خارج از خود را نشان دهد که می تواند باعث ایجاد حفره امنیتی شود، اما برای آزمایش مفید باشد. این نوع APK فقط از طریق adb نصب می شود. شما نمی توانید آن را در Google Play منتشر کنید.

وقتی روی Run کلیک کنید Android Studio به طور خودکار این ویژگی را اضافه می کند .

android:theme
یک مرجع به یک منبع سبک که یک تم پیش‌فرض را برای همه فعالیت‌های برنامه تعریف می‌کند. فعالیت‌های فردی می‌توانند با تنظیم ویژگی‌های theme خود، پیش‌فرض را لغو کنند. برای اطلاعات بیشتر، به سبک‌ها و تم‌ها مراجعه کنید.
android:uiOptions
گزینه های اضافی برای رابط کاربری یک فعالیت. باید یکی از مقادیر زیر باشد:
ارزش توضیحات
"none" بدون گزینه UI اضافی. این پیش فرض است.
"splitActionBarWhenNarrow" هنگامی که برای فضای افقی محدود می شود، مانند زمانی که در حالت عمودی روی گوشی قرار دارید، نواری را در پایین صفحه برای نمایش موارد اقدام در نوار برنامه اضافه می کند، که به عنوان نوار اقدام نیز شناخته می شود. به‌جای اینکه تعداد کمی از موارد اقدام در نوار برنامه در بالای صفحه ظاهر شوند، نوار برنامه به بخش پیمایش بالا و نوار پایین برای موارد اقدام تقسیم می‌شود. این بدان معناست که فضای مناسبی برای آیتم های اکشن و برای ناوبری و عناصر عنوان در بالا در دسترس است. موارد منو در دو نوار تقسیم نمی شوند. آنها همیشه با هم ظاهر می شوند.

برای اطلاعات بیشتر درباره نوار برنامه، به افزودن نوار برنامه مراجعه کنید.

این ویژگی در سطح API 14 اضافه شد.

android:usesCleartextTraffic
نشان می دهد که آیا برنامه قصد دارد از ترافیک شبکه متن شفاف مانند HTTP متن شفاف استفاده کند. مقدار پیش‌فرض برای برنامه‌هایی که سطح API 27 یا پایین‌تر را هدف قرار می‌دهند، "true" است. برنامه هایی که سطح API 28 یا بالاتر را به طور پیش فرض روی "false" هدف قرار می دهند.

هنگامی که ویژگی روی "false" تنظیم می شود، اجزای پلتفرم، به عنوان مثال، پشته های HTTP و FTP، DownloadManager و MediaPlayer ، درخواست های برنامه برای استفاده از ترافیک متن شفاف را رد می کنند.

کتابخانه های شخص ثالث به شدت تشویق می شوند که این تنظیم را نیز رعایت کنند. دلیل اصلی اجتناب از ترافیک متن شفاف، عدم محرمانه بودن، اصالت و حفاظت در برابر دستکاری است. یک مهاجم شبکه می تواند داده های ارسال شده را استراق سمع کند و همچنین بدون شناسایی آن ها را تغییر دهد.

این پرچم بر اساس بهترین تلاش مورد تقدیر قرار گرفته است، زیرا با توجه به سطح دسترسی ارائه شده به آنها، جلوگیری از همه ترافیک متن واضح از برنامه های Android غیرممکن است. به عنوان مثال، هیچ انتظاری وجود ندارد که Socket API به این پرچم احترام بگذارد، زیرا نمی تواند تعیین کند که آیا ترافیک آن در متن شفاف است یا خیر.

با این حال، بیشتر ترافیک شبکه از برنامه‌ها توسط پشته‌ها و مؤلفه‌های شبکه سطح بالاتر مدیریت می‌شود، که می‌توانند این پرچم را با خواندن آن از ApplicationInfo.flags یا NetworkSecurityPolicy.isCleartextTrafficPermitted() احترام کنند.

توجه: WebView این ویژگی را برای برنامه هایی که سطح API 26 و بالاتر را هدف قرار می دهند، ارج نهاده است.

در طول توسعه برنامه، StrictMode می تواند برای شناسایی ترافیک متن واضح از برنامه استفاده شود. برای اطلاعات بیشتر، StrictMode.VmPolicy.Builder.detectCleartextNetwork() را ببینید.

این ویژگی در سطح 23 API اضافه شده است.

در صورت وجود پیکربندی امنیت شبکه Android، این پرچم در Android 7.0 (سطح API 24) و بالاتر نادیده گرفته می‌شود.

android:vmSafeMode
نشان می دهد که آیا برنامه می خواهد ماشین مجازی (VM) در حالت ایمن کار کند یا خیر. مقدار پیش فرض "false" است.

این ویژگی در سطح 8 API اضافه شد، جایی که مقدار "true" کامپایلر Dalvik just-in-time (JIT) را غیرفعال کرد.

این ویژگی در سطح 22 API تطبیق داده شد، جایی که مقدار "true" کامپایلر ART پیش از زمان (AOT) را غیرفعال کرد.

معرفی شده در:
API سطح 1
همچنین ببینید:
<activity>
<service>
<receiver>
<provider>