- תחביר:
<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- המאפיין הזה מציין אם מתקין החבילות מחלץ ספריות 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:restrictedAccountTypenull, כדי שפרופילים עם גישה מוגבלת לא יוכלו להשתמש באפליקציה שלכם כדי לגשת למידע אישי ששייך למשתמש הבעלים.המאפיין הזה נוסף ברמת 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.
- מסכים גדולים (sw >= 600dp): כל האפליקציות תומכות במצב ריבוי חלונות. המאפיין מציין אם אפשר לשנות את גודל האפליקציה, ולא אם האפליקציה תומכת במצב ריבוי חלונות. אם
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).
החל מ-AGP 4.2.0, אפשרות ה-DSL
useLegacyPackagingמחליפה את מאפיין המניפסטextractNativeLibs. כדי להגדיר את אופן הדחיסה של ספריית ה-Native, משתמשים ב-useLegacyPackagingבקובץbuild.gradleשל האפליקציה במקום ב-extractNativeLibsבקובץ המניפסט. מידע נוסף זמין בהערת הגרסה בנושא שימוש ב-DSL לאריזת ספריות מותאמות דחוסות.- הושק ב:
- רמת API 1
- ראו גם:
<activity><service><receiver><provider>
<application>
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2026-05-16 (שעון UTC).
[null,null,["עדכון אחרון: 2026-05-16 (שעון UTC)."],[],[]]