- نحو:
<application android:allowTaskReparenting=["true" | "false"] android:allowBackup=["true" | "false"] android:allowClearUserData=["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:enableOnBackInvokedCallback=["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: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:enableOnBackInvokedCallback
این پرچم به شما امکان می دهد از انیمیشن های سیستم پیش بینی در سطح برنامه انصراف دهید.
android:enableOnBackInvokedCallback=false
را تنظیم کنید تا انیمیشنهای پیشبینیکننده پیشبینیکننده را در سطح برنامه خاموش کند و به سیستم دستور دهید که تماسهای API پلتفرمOnBackInvokedCallback
نادیده بگیرد.-
android:extractNativeLibs
- این ویژگی نشان می دهد که آیا نصب کننده بسته، کتابخانه های بومی را از 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
جداگانه برای عناصر
با شروع AGP 4.2.0، گزینه DSL
useLegacyPackaging
جایگزین ویژگی مانیفستextractNativeLibs
می شود. ازuseLegacyPackaging
در فایلbuild.gradle
برنامه خود به جایextractNativeLibs
در فایل مانیفست برای پیکربندی رفتار فشرده سازی کتابخانه بومی استفاده کنید. برای اطلاعات بیشتر، به یادداشت انتشار مراجعه کنید از DSL برای بسته بندی کتابخانه های بومی فشرده استفاده کنید .-