<application>

תחביר:
<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", גם אם האפליקציה מיועדת ל-Android מגרסה 12 (רמת API 31) ואילך.

מידע נוסף זמין בקטע גיבוי ושחזור בדף שמתאר שינויים בהתנהגות של אפליקציות שמטרגטות את Android 12 (רמת API ‏31) ומעלה.

android:allowClearUserData

האם לאפשר לאפליקציה לאפס את נתוני המשתמש. הנתונים האלה כוללים דגלים, כמו האם המשתמש ראה טיפים מקדימים, וגם הגדרות והעדפות שניתנות להתאמה אישית על ידי המשתמש. ערך ברירת המחדל של המאפיין הזה הוא "true".

הערה: רק אפליקציות שכלולות בקובץ אימג' של המערכת יכולות להצהיר על המאפיין הזה באופן מפורש. אפליקציות של צד שלישי לא יכולות לכלול את המאפיין הזה בקובצי המניפסט שלהן.

מידע נוסף זמין במאמר סקירה כללית על גיבוי נתונים.

android:allowNativeHeapPointerTagging

האם האפליקציה מפעילה את התכונה של תיוג מצביעים ב-Heap. ערך ברירת המחדל של המאפיין הזה הוא "true".

הערה: השבתת התכונה הזו לא פותרת את הבעיה הבסיסית של תקינות הקוד. יכול להיות שמכשירי חומרה עתידיים לא יתמכו בתג המניפסט הזה.

מידע נוסף זמין במאמר בנושא Tagged Pointers.

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 שמכיל את התמונה, לדוגמה "@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

החל מ-AGP 4.2.0, אפשרות ה-DSL useLegacyPackaging מחליפה את מאפיין המניפסט extractNativeLibs. כדי להגדיר את אופן הדחיסה של ספריית ה-Native, משתמשים ב-useLegacyPackaging בקובץ build.gradle של האפליקציה במקום ב-extractNativeLibs בקובץ המניפסט. מידע נוסף זמין בהערת הגרסה בנושא שימוש ב-DSL לאריזת ספריות מותאמות דחוסות.

המאפיין הזה מציין אם מתקין החבילות מחלץ ספריות Native מ-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, תכונה של הקצאת זיכרון נייטיב שעוזרת למצוא באגים מסוג use-after-free ו-heap-buffer-overflow.

ערך ברירת המחדל הוא "never".

android:hasCode
האם האפליקציה מכילה קוד DEX – כלומר, קוד שמשתמש בשפת התכנות Kotlin או Java. אם כן, כותבים "true". אם לא, כותבים "false". כשהערך הוא "false", המערכת לא מנסה לטעון קוד של אפליקציה כשמפעילים רכיבים. ערך ברירת המחדל הוא "true".

אם האפליקציה כוללת קוד Native ‏ (C/C++) אבל לא קוד DEX, צריך להגדיר את הערך "false". אם הערך מוגדר כ-"true" כשקובץ ה-APK לא מכיל קוד DEX, יכול להיות שהאפליקציה לא תיטען.

הנכס הזה צריך להסביר את הקוד שנכלל באפליקציה על ידי תלות. אם האפליקציה תלויה בקובץ AAR שמשתמש בקוד Java/Kotlin, או ישירות בקובץ JAR, הערך של app:hasCode צריך להיות "true", או שאפשר להשמיט את השורה כי זה ערך ברירת המחדל.

לדוגמה, יכול להיות שהאפליקציה שלכם תומכת בהעברת תכונות ב-Play וכוללת מודולים של תכונות שלא יוצרים קובצי DEX. קובצי DEX הם בייטקוד שעבר אופטימיזציה לפלטפורמת Android. אם כן, צריך להגדיר את המאפיין הזה לערך "false" בקובץ המניפסט של המודול כדי למנוע שגיאות בזמן הריצה.

android:hasFragileUserData
האם להציג למשתמש הנחיה לשמירת נתוני האפליקציה כשהוא מסיר את האפליקציה. ערך ברירת המחדל הוא "false".
android:hardwareAccelerated
האם העיבוד מואץ החומרה מופעל לכל הפעילויות והתצוגות באפליקציה הזו. הסמל הוא "true" אם הוא מופעל ו-"false" אם הוא לא מופעל. ערך ברירת המחדל הוא "true" אם מגדירים את minSdkVersion או את targetSdkVersion לערך של "14" ומעלה. אחרת, היא תהיה "false".

החל מ-Android 3.0 (רמת API ‏11), יש לאפליקציות אפשרות להשתמש במעבד OpenGL עם האצת חומרה כדי לשפר את הביצועים של הרבה פעולות נפוצות של גרפיקה דו-ממדית. כשמעבד התצוגה עם האצת החומרה מופעל, רוב הפעולות ב-Canvas,‏ Paint,‏ Xfermode,‏ ColorFilter,‏ Shader ו-Camera מואצות.

כתוצאה מכך, האנימציות והגלילה חלקות יותר, והתגובה הכוללת משופרת, גם באפליקציות שלא משתמשות באופן מפורש בספריות OpenGL של המסגרת.

לא כל הפעולות של OpenGL 2D מואצות. אם מפעילים את רכיב ה-Renderer עם האצת חומרה, צריך לבדוק את האפליקציה כדי לוודא שהיא יכולה להשתמש ברכיב ה-Renderer בלי שגיאות.

מידע נוסף מפורט במדריך בנושא האצת חומרה.

android:icon
סמל של האפליקציה כולה וסמל ברירת המחדל של כל אחד מרכיבי האפליקציה. אפשר לעיין במאפיינים הספציפיים של הרכיבים icon, <activity>, <activity-alias>, <service>, <receiver> ו-<provider>.

המאפיין הזה מוגדר כהפניה לפריט גרפי שניתן להזזה שמכיל את התמונה, כמו "@drawable/icon". אין סמל ברירת מחדל.

android:isGame
האם האפליקציה היא משחק. יכול להיות שהמערכת תקבץ אפליקציות שמסווגות כמשחקים או תציג אותן בנפרד מאפליקציות אחרות. ערך ברירת המחדל הוא "false".
android:isMonitoringTool

מציין שהאפליקציה הזו מיועדת למעקב אחרי אנשים אחרים.

הערה: אם אפליקציה מצהירה על המאפיין הזה במניפסט שלה, המפתח חייב לפעול בהתאם למדיניות בנושא תוכנת מעקב כדי לפרסם את האפליקציה ב-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 שמיושמת באפליקציה. כשמתחילים את תהליך הבקשה, המערכת יוצרת מופע של המחלקה הזו לפני כל אחד מהרכיבים של האפליקציה.

השימוש במחלקת משנה הוא אופציונלי. ברוב האפליקציות אין צורך בכך. אם אין מחלקת משנה, מערכת Android משתמשת במופע של המחלקה הבסיסית Application.

android:networkSecurityConfig

מציין את השם של קובץ ה-XML שמכיל את הגדרות אבטחת הרשת של האפליקציה. הערך הוא הפניה לקובץ משאבי ה-XML שמכיל את ההגדרה.

המאפיין הזה נוסף ברמת API 24.

android:permission
שם ההרשאה שהלקוחות צריכים כדי ליצור אינטראקציה עם האפליקציה. המאפיין הזה הוא דרך נוחה להגדיר הרשאה שחלה על כל הרכיבים של האפליקציה. ההגדרה הזו מוחלפת בהגדרת מאפייני permission של רכיבים ספציפיים.

מידע נוסף על הרשאות מופיע בקטע הרשאות בסקירה הכללית של קובץ מניפסט של אפליקציה ובטיפים בנושא אבטחה.

android:persistent
האם האפליקציה ממשיכה לפעול כל הזמן. אם כן, כותבים "true", ואם לא, כותבים "false". ערך ברירת המחדל הוא "false". בדרך כלל אפליקציות לא מגדירות את הדגל הזה. מצב ההתמדה מיועד רק לאפליקציות מערכת מסוימות.
android:process
שם התהליך שבו כל הרכיבים של האפליקציה פועלים. כל רכיב יכול לבטל את ברירת המחדל הזו באמצעות הגדרת מאפיין process משלו.

כברירת מחדל, מערכת Android יוצרת תהליך לאפליקציה כשצריך להפעיל את הרכיב הראשון שלה. כל הרכיבים פועלים בתהליך הזה. השם של תהליך ברירת המחדל תואם לשם החבילה שמוגדר על ידי רכיב <manifest>.

אם מגדירים את המאפיין הזה לשם תהליך שמשותף לאפליקציה אחרת, אפשר להגדיר שרכיבים של שתי האפליקציות יפעלו באותו התהליך, אבל רק אם לשתי האפליקציות יש גם מזהה משתמש משותף והן חתומות באותו אישור.

אם השם שמוקצה למאפיין הזה מתחיל בנקודתיים (:), נוצר תהליך חדש שפרטי לאפליקציה כשצריך. אם שם התהליך מתחיל באות קטנה, נוצר תהליך גלובלי עם השם הזה. אפשר לשתף תהליך גלובלי עם אפליקציות אחרות, וכך לצמצם את השימוש במשאבים.

android:restoreAnyVersion
מציין שהאפליקציה מוכנה לנסות לשחזר כל מערך נתונים מגובים, גם אם הגיבוי אוחסן על ידי גרסה חדשה יותר של האפליקציה מזו שמותקנת כרגע במכשיר. הגדרת המאפיין הזה לערך "true" מאפשרת למרכז הגיבוי
  • $1
  • לנסות לשחזר גם אם חוסר התאמה בין הגרסאות מצביע על כך שהנתונים לא תואמים. חשוב להשתמש בזהירות!

    ערך ברירת המחדל של המאפיין הזה הוא "false".

    android:requestLegacyExternalStorage

    האם האפליקציה רוצה לבטל את ההסכמה לנפח אחסון ייעודי לאפליקציות.

    הערה: יכול להיות שהמערכת לא תכבד את בקשת הביטול הזו, בהתאם לשינויים שקשורים למדיניות או לתאימות של האפליקציה.

    android:requiredAccountType
    מציין את סוג החשבון שנדרש כדי שהאפליקציה תפעל. אם האפליקציה שלכם דורשת Account, הערך של המאפיין הזה צריך להתאים לסוג מאמת החשבון שבו האפליקציה משתמשת, כפי שמוגדר על ידי AuthenticatorDescription, כמו "com.google".

    ערך ברירת המחדל הוא null, והוא מציין שהאפליקציה יכולה לפעול ללא חשבונות.

    בגלל שבפרופילים עם גישה מוגבלת אי אפשר להוסיף חשבונות, אם מציינים את המאפיין הזה, האפליקציה לא זמינה מפרופיל עם גישה מוגבלת, אלא אם מציינים גם את android:restrictedAccountType עם אותו ערך.

    זהירות: אם הנתונים בחשבון עשויים לחשוף פרטים אישיים מזהים (PII), חשוב להצהיר על המאפיין הזה ולהשאיר את android:restrictedAccountType null, כדי שפרופילים עם גישה מוגבלת לא יוכלו להשתמש באפליקציה שלכם כדי לגשת למידע אישי ששייך למשתמש הבעלים.

    המאפיין הזה נוסף ברמת API‏ 18.

    android:resizeableActivity

    ההגדרה קובעת אם האפליקציה תומכת במצב ריבוי חלונות.

    אפשר להגדיר את המאפיין הזה ברכיב <activity> או ברכיב <application>.

    אם מגדירים את המאפיין הזה לערך "true", המשתמש יכול להפעיל את הפעילות במצב מסך מפוצל ובמצב חלון חופשי. אם מגדירים את המאפיין לערך "false", אי אפשר לבדוק את האפליקציה או לבצע בה אופטימיזציה לסביבת ריבוי חלונות. המערכת עדיין יכולה להציג את הפעילות במצב ריבוי חלונות עם הפעלת מצב תאימות.

    הגדרת המאפיין הזה לערך "true" לא מבטיחה שלא יהיו אפליקציות אחרות במצב מרובה חלונות שיוצגו על המסך, כמו תמונה בתוך תמונה, או על מסכים אחרים. לכן, הגדרת הדגל הזה לא אומרת שלאפליקציה שלכם יש גישה בלעדית למשאבים.

    באפליקציות שמטרגטות רמת API 24 ומעלה, ברירת המחדל היא "true".

    אם האפליקציה מטרגטת רמת API 31 ומעלה, המאפיין הזה פועל באופן שונה במסכים קטנים ובמסכים גדולים:

    • מסכים גדולים (sw >= 600dp): כל האפליקציות תומכות במצב ריבוי חלונות. המאפיין מציין אם אפשר לשנות את גודל האפליקציה, ולא אם האפליקציה תומכת במצב ריבוי חלונות. אם resizeableActivity="false", האפליקציה מועברת למצב תאימות כשצריך להתאים אותה לממדי המסך.
    • מסכים קטנים (sw < 600dp): אם resizeableActivity="true" והרוחב המינימלי והגובה המינימלי של הפעילות הראשית עומדים בדרישות של מצב מרובה חלונות, האפליקציה תומכת במצב מרובה חלונות. אם הערך הוא resizeableActivity="false", האפליקציה לא תומכת במצב מרובה חלונות, ללא קשר לרוחב ולגובה המינימליים של הפעילות.

    ערך פעילות הבסיס של משימה מוחל על כל הפעילויות הנוספות שמופעלות במשימה. כלומר, אם הפעילות הבסיסית של משימה ניתנת לשינוי גודל, המערכת מתייחסת לכל הפעילויות האחרות במשימה כאל פעילויות שניתנות לשינוי גודל. אם אי אפשר לשנות את הגודל של פעילות הבסיס, אי אפשר לשנות את הגודל של פעילויות אחרות במשימה.

    המאפיין הזה נוסף ברמת API 24.

    android:restrictedAccountType
    מציין את סוג החשבון שנדרש לאפליקציה הזו, ומציין שפרופילים מוגבלים יכולים לגשת לחשבונות כאלה ששייכים למשתמש הבעלים. אם האפליקציה שלכם דורשת Account ולפרופילים מוגבלים יש גישה לחשבונות של המשתמש הראשי, הערך של המאפיין הזה צריך להתאים לסוג מאמת החשבון שבו האפליקציה משתמשת, כפי שמוגדר על ידי AuthenticatorDescription, למשל "com.google".

    ערך ברירת המחדל הוא null, והוא מציין שהאפליקציה יכולה לפעול ללא חשבונות.

    זהירות: הגדרת המאפיין הזה מאפשרת לפרופילים מוגבלים להשתמש באפליקציה עם חשבונות ששייכים למשתמש הבעלים, מה שעשוי לחשוף פרטים אישיים מזהים. אם החשבון עלול לחשוף פרטים אישיים, אל תשתמשו במאפיין הזה. במקום זאת, צריך להצהיר על מאפיין android:requiredAccountType כדי שהאפליקציה לא תהיה זמינה בפרופילים מוגבלים.

    המאפיין הזה נוסף ברמת API‏ 18.

    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.

    ‫Android Studio מוסיף את המאפיין הזה באופן אוטומטי כשלוחצים על Run (הפעלה) .

    android:theme
    הפניה למשאב סגנון שמגדיר עיצוב ברירת מחדל לכל הפעילויות באפליקציה. פעילויות ספציפיות יכולות לבטל את ברירת המחדל על ידי הגדרת מאפיינים משלהן של theme. מידע נוסף מופיע במאמר בנושא סגנונות ועיצובים.
    android:uiOptions
    אפשרויות נוספות לממשק המשתמש של פעילות. צריך להזין אחד מהערכים הבאים:
    ערךתיאור
    "none"אין אפשרויות נוספות בממשק המשתמש. זוהי ברירת המחדל.
    "splitActionBarWhenNarrow"מוסיף סרגל בחלק התחתון של המסך כדי להציג פעולות לביצוע בסרגל האפליקציות, שנקרא גם סרגל הפעולות, כשיש מגבלה על המקום האופקי, למשל כשמשתמשים בטלפון נייד במצב לאורך. במקום מספר קטן של פריטים לפעולה שמופיעים בסרגל האפליקציה בחלק העליון של המסך, סרגל האפליקציה מתפצל לחלק העליון לניווט ולסרגל התחתון לפריטים לפעולה. המשמעות היא שיש כמות סבירה של מקום לפריטי הפעולה ולרכיבי הניווט והכותרת בחלק העליון. אפשרויות התפריט לא מחולקות בין שני הסרגלים. הם תמיד מופיעים ביחד.

    מידע נוסף על סרגל האפליקציות זמין במאמר הוספת סרגל האפליקציות.

    המאפיין הזה נוסף ברמת API‏ 14.

    android:usesCleartextTraffic
    ההגדרה מציינת אם האפליקציה מתכוונת להשתמש בתנועה ברשת בטקסט גלוי, כמו HTTP בטקסט גלוי. ערך ברירת המחדל לאפליקציות שמטרגטות לרמת API 27 ומטה הוא "true". באפליקציות שמטרגטות רמת API‏ 28 ומעלה, ברירת המחדל היא "false".

    הערה: המאפיין הזה יוצא משימוש והמערכת תתעלם ממנו באפליקציות שמטרגטות לרמות API 38 ומעלה. מציינים הגדרת אבטחת רשת כדי לשלוט בתעבורת נתונים לא מוצפנת ברמות API 24 ומעלה. אם האפליקציה מטרגטת רמות API 23 ומטה, צריך לציין android:usesCleartextTraffic בנוסף להגדרת אבטחת רשת.

    כשהמאפיין מוגדר ל-"false", רכיבי הפלטפורמה, למשל מחסניות HTTP ו-FTP‏, DownloadManager ו-MediaPlayer, דוחים את הבקשות של האפליקציה להשתמש בתעבורת נתונים לא מוצפנת.

    מומלץ מאוד שספריות צד שלישי יכבדו גם את ההגדרה הזו. הסיבה העיקרית לכך שכדאי להימנע מתעבורת נתונים בטקסט לא מוצפן היא חוסר הסודיות, האותנטיות וההגנה מפני שיבוש. תוקף ברשת יכול לצותת לנתונים שמועברים וגם לשנות אותם בלי שהפעולות שלו יתגלו.

    הדגל הזה נלקח בחשבון ככל האפשר, כי אי אפשר למנוע את כל תעבורת הנתונים בטקסט לא מוצפן מאפליקציות ל-Android בהתחשב ברמת הגישה שניתנת להן. לדוגמה, אין לצפות ש-API של Socket יכבד את הדגל הזה, כי הוא לא יכול לקבוע אם תעבורת הנתונים שלו היא בטקסט לא מוצפן.

    עם זאת, רוב התנועה ברשת מאפליקציות מטופלת על ידי רכיבים ומערכים של רשת ברמה גבוהה יותר, שיכולים להתייחס לדגל הזה על ידי קריאתו מ-ApplicationInfo.flags או מ-NetworkSecurityPolicy.isCleartextTrafficPermitted().

    הערה: WebView מכבד את המאפיין הזה באפליקציות שמטרגטות לרמת API 26 ומעלה.

    במהלך פיתוח האפליקציה, אפשר להשתמש ב-StrictMode כדי לזהות תעבורת נתונים לא מוצפנת מהאפליקציה. למידע נוסף, אפשר לעיין במאמר בנושא StrictMode.VmPolicy.Builder.detectCleartextNetwork().

    המאפיין הזה נוסף ברמת API ‏23.

    המערכת מתעלמת מהדגל הזה ב-Android 7.0 (רמת API ‏24) ואילך אם קיים Android Network Security Config.

    android:vmSafeMode
    מציין אם האפליקציה רוצה שהמכונה הווירטואלית (VM) תפעל במצב בטוח. ערך ברירת המחדל הוא "false".

    המאפיין הזה נוסף ברמת API‏ 8, שבה ערך של "true" השבית את מהדר Dalvik just-in-time‏ (JIT).

    המאפיין הזה הותאם ברמת API‏ 22, שבה ערך של "true" השבית את מהדר ה-ART ahead-of-time ‏ (AOT).

    הושק ב:
    רמת API‏ 1
    ראו גם:
    <activity>
    <service>
    <receiver>
    <provider>