Home | History | Annotate | Download | only in manifest
      1 page.title=<application>
      2 
      3 @jd:body
      4 
      5 <dl class="xml">
      6 <dt>syntax:</dt>
      7 <dd><pre class="stx">&lt;application android:<a href="#reparent">allowTaskReparenting</a>=["true" | "false"]
      8              android:<a href="#allowbackup">allowBackup</a>=["true" | "false"]
      9              android:<a href="#agent">backupAgent</a>="<i>string</i>"
     10              android:<a href="#banner">banner</a>="<i>drawable resource</i>"
     11              android:<a href="#debug">debuggable</a>=["true" | "false"]
     12              android:<a href="#desc">description</a>="<i>string resource</i>"
     13              android:<a href="#enabled">enabled</a>=["true" | "false"]
     14              android:<a href="#code">hasCode</a>=["true" | "false"]
     15              android:<a href="#hwaccel">hardwareAccelerated</a>=["true" | "false"]
     16              android:<a href="#icon">icon</a>="<i>drawable resource</i>"
     17              android:<a href="#isGame">isGame</a>=["true" | "false"]
     18              android:<a href="#killrst">killAfterRestore</a>=["true" | "false"]
     19              android:<a href="#largeHeap">largeHeap</a>=["true" | "false"]
     20              android:<a href="#label">label</a>="<i>string resource</i>"
     21              android:<a href="#logo">logo</a>="<i>drawable resource</i>"
     22              android:<a href="#space">manageSpaceActivity</a>="<i>string</i>"
     23              android:<a href="#nm">name</a>="<i>string</i>"
     24              android:<a href="#prmsn">permission</a>="<i>string</i>"
     25              android:<a href="#persistent">persistent</a>=["true" | "false"]
     26              android:<a href="#proc">process</a>="<i>string</i>"
     27              android:<a href="#restoreany">restoreAnyVersion</a>=["true" | "false"]
     28              android:<a href="#requiredAccountType">requiredAccountType</a>="<i>string</i>"
     29              android:<a href="#resizeableActivity">resizeableActivity</a>=["true" | "false"]
     30              android:<a href="#restrictedAccountType">restrictedAccountType</a>="<i>string</i>"
     31              android:<a href="#supportsrtl">supportsRtl</a>=["true" | "false"]
     32              android:<a href="#aff">taskAffinity</a>="<i>string</i>"
     33              android:<a href="#testOnly">testOnly</a>=["true" | "false"]
     34              android:<a href="#theme">theme</a>="<i>resource or theme</i>"
     35              android:<a href="#uioptions">uiOptions</a>=["none" | "splitActionBarWhenNarrow"]
     36              android:<a href="#usesCleartextTraffic">usesCleartextTraffic</a>=["true" | "false"]
     37              android:<a href="#vmSafeMode">vmSafeMode</a>=["true" | "false"] &gt;
     38     . . .
     39 &lt;/application&gt;</pre></dd>
     40 
     41 <dt>contained in:</dt>
     42 <dd><code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code></dd>
     43 
     44 <dt>can contain:</dt>
     45 <dd><code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
     46 <br/><code><a href="{@docRoot}guide/topics/manifest/activity-alias-element.html">&lt;activity-alias&gt;</a></code>
     47 <br/><code><a href="{@docRoot}guide/topics/manifest/meta-data-element.html">&lt;meta-data&gt;</a></code>
     48 <br/><code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>
     49 <br/><code><a href="{@docRoot}guide/topics/manifest/receiver-element.html">&lt;receiver&gt;</a></code>
     50 <br/><code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code>
     51 <br/><code><a href="{@docRoot}guide/topics/manifest/uses-library-element.html">&lt;uses-library&gt;</a></code></dd>
     52 
     53 <dt>description:</dt>
     54 <dd itemprop="description">The declaration of the application.  This element contains subelements
     55 that declare each of the application's components and has attributes
     56 that can affect all the components.  Many of these attributes (such as
     57 {@code icon}, {@code label}, {@code permission}, {@code process},
     58 {@code taskAffinity}, and {@code allowTaskReparenting}) set default values
     59 for corresponding attributes of the component elements.  Others (such as
     60 {@code debuggable}, {@code enabled}, {@code description}, and
     61 {@code allowClearUserData})  set values for the application as a whole and
     62 cannot be overridden by the components.</dd>
     63 
     64 
     65 
     66 
     67 
     68 <dt>attributes</dt>
     69 <dd><dl class="attr">
     70 
     71 <dt><a name="reparent"></a>{@code android:allowTaskReparenting}</dt>
     72 <dd>Whether or not activities that the application defines can move from
     73 the task that started them to the task they have an affinity for when that task
     74 is next brought to the front &mdash; {@code "true"} if they can move, and
     75 {@code "false"} if they must remain with the task where they started.
     76 The default value is {@code "false"}.
     77 
     78 <p>
     79 The
     80 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
     81 element has its own
     82 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html#reparent">allowTaskReparenting</a></code>
     83 attribute that can override the value set here.  See that attribute for more
     84 information.
     85 </p></dd>
     86 
     87 
     88 <dt><a name="allowbackup"></a>{@code android:allowBackup}</dt>
     89 <dd>Whether to allow the application to participate in the backup
     90 and restore infrastructure. If this attribute is set to false, no backup
     91 or restore of the application will ever be performed, even by a full-system
     92 backup that would otherwise cause all application data to be saved via adb.
     93 The default value of this attribute is true.</dd>
     94 
     95 
     96 <dt><a name="agent"></a>{@code android:backupAgent}</dt>
     97 <dd>The name of the class that implement's the application's backup agent,
     98 a subclass of {@link android.app.backup.BackupAgent}.  The attribute value should be
     99 a fully qualified  class name (such as, {@code "com.example.project.MyBackupAgent"}).
    100 However, as a shorthand, if the first character of the name is a period
    101 (for example, {@code ".MyBackupAgent"}), it is appended to the
    102 package name specified in the
    103 <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code>
    104 element.
    105 
    106 <p>
    107 There is no default.  The name must be specified.
    108 </p></dd>
    109 
    110 <dt><a name="banner"></a>{@code android:banner}</dt>
    111 <dd>A <a href="{@docRoot}guide/topics/resources/drawable-resource.html">drawable resource</a>
    112 providing an extended graphical banner for its associated item. Use with the
    113 {@code <application>} tag to supply a default banner for all application activities, or with the
    114 <a href="{@docRoot}guide/topics/manifest/activity-element.html"><code>&lt;activity&gt;</code></a>
    115 tag to supply a banner for a specific activity.
    116 
    117 <p>The system uses the banner to represent an app in
    118 the Android TV home screen. Since the banner is displayed only in the home screen, it
    119 should only be specified by applications with an activity that handles the
    120 {@link android.content.Intent#CATEGORY_LEANBACK_LAUNCHER} intent.</p>
    121 
    122 <p>This attribute must be set as a reference to a drawable resource containing
    123 the image (for example <code>"@drawable/banner"</code>). There is no default banner.
    124 </p>
    125 
    126 <p>
    127 See <a href="{@docRoot}design/tv/patterns.html#banner">
    128 Banners</a> in the UI Patterns for TV design guide, and <a href="{@docRoot}training/tv/start/start.html#banner">
    129 Provide a home screen banner</a> in Get Started with TV Apps for more information.
    130 </p></dd>
    131 
    132 <dt><a name="debug"></a>{@code android:debuggable}</dt>
    133 <dd>Whether or not the application can be debugged, even when running
    134 on a device in user mode &mdash; {@code "true"} if it can be, and {@code "false"}
    135 if not.  The default value is {@code "false"}.</dd>
    136 
    137 <dt><a name="desc"></a>{@code android:description}</dt>
    138 <dd>User-readable text about the application, longer and more descriptive than the application label.  The value must be set as a reference to a string resource.  Unlike the label, it cannot be a raw string.  There is no default value.</dd>
    139 
    140 <dt><a name="enabled"></a>{@code android:enabled}</dt>
    141 <dd>Whether or not the Android system can instantiate components of
    142 the application &mdash; {@code "true"} if it can, and {@code "false"}
    143 if not.  If the value is {@code "true"}, each component's
    144 {@code enabled} attribute determines whether that component is enabled
    145 or not.  If the value is {@code "false"}, it overrides the
    146 component-specific values; all components are disabled.
    147 
    148 <p>
    149 The default value is {@code "true"}.
    150 </p></dd>
    151 
    152 <dt><a name="code"></a>{@code android:hasCode}</dt>
    153 <dd>Whether or not the application contains any code &mdash; {@code "true"}
    154 if it does, and {@code "false"} if not.  When the value is {@code "false"},
    155 the system does not try to load any application code when launching components.
    156 The default value is {@code "true"}.
    157 
    158 <p>
    159 An application would not have any code of its own only if it's using nothing
    160 but built-in component classes, such as an activity that uses the {@link
    161 android.app.AliasActivity} class, a rare occurrence.</p>
    162 </dd>
    163 
    164 <dt><a name="hwaccel"></a>{@code android:hardwareAccelerated}</dt>
    165 <dd>Whether or not hardware-accelerated rendering should be enabled for all
    166 activities and views in this application &mdash; {@code "true"} if it
    167 should be enabled, and {@code "false"} if not. The default value is {@code "true"} if you've set
    168 either <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code minSdkVersion}</a>
    169 or <a
    170 href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code targetSdkVersion}</a>
    171 to {@code "14"} or higher; otherwise, it's {@code "false"}.
    172 
    173 <p>Starting from Android 3.0 (API level 11), a hardware-accelerated OpenGL renderer is
    174 available to applications, to improve performance for many common 2D graphics
    175 operations. When the hardware-accelerated renderer is enabled, most operations
    176 in Canvas, Paint, Xfermode, ColorFilter, Shader, and Camera are accelerated.
    177 This results in smoother animations, smoother scrolling, and improved
    178 responsiveness overall, even for applications that do not explicitly make use
    179 the framework's OpenGL libraries. </p>
    180 
    181 <p>Note that not all of the OpenGL 2D operations are accelerated. If you enable
    182 the hardware-accelerated renderer, test your application to ensure that it can
    183 make use of the renderer without errors.</p>
    184 
    185 <p>For more information, read the <a href="{@docRoot}guide/topics/graphics/hardware-accel.html"
    186 >Hardware Acceleration</a> guide.</p>
    187 </dd>
    188 
    189 <dt><a name="icon"></a>{@code android:icon}</dt>
    190 <dd>An icon for the application as whole, and the default icon for
    191 each of the application's components.  See the individual
    192 {@code icon} attributes for
    193 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>,
    194 <code><a href="{@docRoot}guide/topics/manifest/activity-alias-element.html">&lt;activity-alias&gt;</a></code>,
    195 <code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>,
    196 <code><a href="{@docRoot}guide/topics/manifest/receiver-element.html">&lt;receiver&gt;</a></code>, and
    197 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code> elements.
    198 
    199 <p>
    200 This attribute must be set as a reference to a drawable resource containing
    201 the image (for example <code>"@drawable/icon"</code>). There is no default icon.
    202 </p></dd>
    203 
    204 <dt><a name="isGame"></a>{@code android:isGame}</dt>
    205 <dd>Whether or not the application is a game. The system may group together applications classifed
    206 as games or display them separately from other applications.
    207 
    208 <p>The default is {@code false}.</p></dd>
    209 
    210 <dt><a name="killrst"></a>{@code android:killAfterRestore}</dt>
    211 <dd>Whether the application in question should be terminated after its
    212 settings have been restored during a full-system restore operation.
    213 Single-package restore operations will never cause the application to
    214 be shut down.  Full-system restore operations typically only occur once,
    215 when the phone is first set up.  Third-party applications will not normally
    216 need to use this attribute.
    217 
    218 <p>The default is {@code true}, which means that after the application
    219 has finished processing its data during a full-system restore, it will be
    220 terminated.
    221 </p></dd>
    222 
    223 <dt><a name="largeHeap"></a>{@code android:largeHeap}</dt>
    224 <dd>Whether your application's processes should be created with a large Dalvik heap. This applies to
    225 all processes created for the application. It only applies to the first application loaded into a
    226 process; if you're using a shared user ID to allow multiple applications to use a process, they all
    227 must use this option consistently or they will have unpredictable results.
    228 <p>Most apps should not need this and should instead focus on reducing their overall memory usage for
    229 improved performance. Enabling this also does not guarantee a fixed increase in available memory,
    230 because some devices are constrained by their total available memory.</p>
    231 <p>To query the available memory size at runtime, use the methods {@link
    232   android.app.ActivityManager#getMemoryClass()} or {@link
    233   android.app.ActivityManager#getLargeMemoryClass()}.</p>
    234 </dd>
    235 
    236 <dt><a name="label"></a>{@code android:label}</dt>
    237 <dd>A user-readable label for the application as a whole, and a default
    238 label for each of the application's components.  See the individual
    239 {@code label} attributes for
    240 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>,
    241 <code><a href="{@docRoot}guide/topics/manifest/activity-alias-element.html">&lt;activity-alias&gt;</a></code>,
    242 <code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>,
    243 <code><a href="{@docRoot}guide/topics/manifest/receiver-element.html">&lt;receiver&gt;</a></code>, and
    244 <code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code> elements.
    245 
    246 <p>
    247 The label should be set as a reference to a string resource, so that
    248 it can be localized like other strings in the user interface.
    249 However, as a convenience while you're developing the application,
    250 it can also be set as a raw string.
    251 </p></dd>
    252 
    253 <dt><a name="logo"></a>{@code android:logo}</dt>
    254 <dd>A logo for the application as whole, and the default logo for activities.
    255 <p>This attribute must be set as a reference to a drawable resource containing
    256 the image (for example <code>"@drawable/logo"</code>).  There is no default logo.</p></dd>
    257 
    258 <dt><a name="space"></a>{@code android:manageSpaceActivity}</dt>
    259 <dd>The fully qualified name of an Activity subclass that the system
    260 can launch to let users manage the memory occupied by the application
    261 on the device.  The activity should also be declared with an
    262 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code> element.
    263 </dd>
    264 
    265 <dt><a name="nm"></a>{@code android:name}</dt>
    266 <dd>The fully qualified name of an {@link android.app.Application}
    267 subclass implemented for the application.  When the application process
    268 is started, this class is instantiated before any of the application's
    269 components.
    270 
    271 <p>
    272 The subclass is optional; most applications won't need one.
    273 In the absence of a subclass, Android uses an instance of the base
    274 Application class.
    275 </p></dd>
    276 
    277 <dt><a name="prmsn"></a>{@code android:permission}</dt>
    278 <dd>The name of a permission that clients must have in order to interact
    279 with the application.  This attribute is a convenient way to set a
    280 permission that applies to all of the application's components.  It can
    281 be overwritten by setting the {@code permission} attributes of individual
    282 components.
    283 
    284 <p>
    285 For more information on permissions, see the
    286 <a href="{@docRoot}guide/topics/manifest/manifest-intro.html#sectperm">Permissions</a>
    287 section in the introduction and another document,
    288 <a href="{@docRoot}guide/topics/security/security.html">Security and
    289 Permissions</a>.
    290 </p></dd>
    291 
    292 <dt><a name="persistent"></a>{@code android:persistent}</dt>
    293 <dd>Whether or not the application should remain running at all times &mdash;
    294 {@code "true"} if it should, and {@code "false"} if not.  The default value
    295 is {@code "false"}.  Applications should not normally set this flag;
    296 persistence mode is intended only for certain system applications.</dd>
    297 
    298 <dt><a name="proc"></a>{@code android:process}</dt>
    299 <dd>The name of a process where all components of the application should run.
    300 Each component can override this default by setting its own {@code process}
    301 attribute.
    302 
    303 <p>
    304 By default, Android creates a process for an application when the first
    305 of its components needs to run.  All components then run in that process.
    306 The name of the default process matches the package name set by the
    307 <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> element.
    308 </p>
    309 
    310 <p>By setting this attribute to a process name that's shared with another
    311 application, you can arrange for components of both applications to run in
    312 the same process &mdash; but only if the two applications also share a
    313 user ID and be signed with the same certificate.
    314 </p>
    315 
    316 <p>
    317 If the name assigned to this attribute begins with a colon (':'), a new
    318 process, private to the application, is created when it's needed.
    319 If the process name begins with a lowercase character, a global process
    320 of that name is created.  A global process can be shared with other
    321 applications, reducing resource usage.
    322 </p></dd>
    323 
    324 <dt><a name="restoreany"></a>{@code android:restoreAnyVersion}</dt>
    325 <dd>Indicates that the application is prepared to attempt a restore of any
    326 backed-up data set, even if the backup was stored by a newer version
    327 of the application than is currently installed on the device.  Setting
    328 this attribute to {@code true} will permit the Backup Manager to
    329 attempt restore even when a version mismatch suggests that the data are
    330 incompatible.  <em>Use with caution!</em>
    331 
    332 <p>The default value of this attribute is {@code false}.
    333 </p></dd>
    334 
    335 
    336 
    337 <dt><a name="requiredAccountType"></a>{@code android:requiredAccountType}</dt>
    338 <dd>Specifies the account type required by the application in order to function.
    339 If your app requires an {@link android.accounts.Account}, the value for this attribute must
    340 correspond to the account authenticator
    341 type used by your app (as defined by {@link android.accounts.AuthenticatorDescription}),
    342 such as "com.google".
    343 
    344 <p>The default value is null and indicates that the application
    345 can work <em>without</em> any accounts.
    346 
    347 <p>Because restricted profiles currently
    348 cannot add accounts, specifying this attribute <strong>makes your app
    349 unavailable from a restricted profile</strong> unless you also declare
    350 <a href="#restrictedAccountType">{@code android:restrictedAccountType}</a> with
    351 the same value.</p>
    352 
    353 <p class="caution"><strong>Caution:</strong>
    354 If the account data may reveal personally identifiable information, it's important
    355 that you declare this attribute and leave <a href="#restrictedAccountType">{@code android:restrictedAccountType}</a> null, so that restricted profiles cannot use
    356 your app to access personal information that belongs to the owner user.</p>
    357 
    358 <p>This attribute was added in API level 18.</p>
    359 </dd>
    360 
    361 
    362 <dt id="resizeableActivity"><code>resizeableActivity</code></dt>
    363 
    364 <dd>
    365 <p>
    366   Specifies whether the app supports <a href=
    367   "{@docRoot}guide/topics/ui/multi-window.html">multi-window display</a>. You
    368   can set this attribute in either the <a href="activity-element">
    369   <code>&lt;activity&gt;</code></a> or <code>&lt;application&gt;</code> element.
    370 </p>
    371 
    372 <p>
    373   If you set this attribute to true, the user can launch the activity in
    374   split-screen and freeform modes. If you set the attribute to false, the
    375   activity does not support multi-window mode. If this value is false, and the
    376   user attempts to launch the activity in multi-window mode, the activity takes
    377   over the full screen.
    378 </p>
    379 
    380 <p>
    381   If your app targets API level 24 or higher, but you do not specify a value
    382   for this attribute, the attribute's value defaults to true.
    383 </p>
    384 
    385 <p>
    386   This attribute was added in API level 24.
    387 </p>
    388 </dd>
    389 
    390 <dt><a name="restrictedAccountType"></a>{@code android:restrictedAccountType}</dt>
    391 <dd>Specifies the account type required by this application and indicates that restricted profiles
    392 are allowed to access such accounts that belong to the owner user. If your app requires an
    393 {@link android.accounts.Account} and restricted profiles <strong>are allowed to
    394 access</strong> the primary user's accounts, the value for this attribute must
    395 correspond to the account authenticator type used by your app (as
    396 defined by {@link android.accounts.AuthenticatorDescription}), such as "com.google".
    397 
    398 <p>The default value is null and indicates that the application can work <em>without</em> any
    399 accounts.
    400 
    401 <p class="caution"><strong>Caution:</strong>
    402 Specifying this attribute allows restricted profiles to use your
    403 app with accounts that belong to the owner user, which may reveal personally identifiable
    404 information. If the account may reveal personal details, you <strong>should not</strong>
    405 use this attribute and you should instead declare the <a
    406 href="#requiredAccountType">{@code android:requiredAccountType}</a> attribute
    407 to make your app unavailable to restricted profiles.</p>
    408 
    409 <p>This attribute was added in API level 18.</p>
    410 </dd>
    411 
    412 
    413 
    414 <dt><a name="supportsrtl"></a>{@code android:supportsRtl}</dt>
    415 <dd>Declares whether your application is willing to support right-to-left (RTL) layouts.
    416 <p>If set to {@code true} and <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target"
    417 >{@code targetSdkVersion}</a> is set to 17 or higher, various RTL APIs will be
    418 activated and used by the system so your app can display RTL layouts.
    419 If set to {@code false} or if <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target"
    420 >{@code targetSdkVersion}</a> is set to 16 or lower, the RTL APIs will be ignored
    421 or will have no effect and your app will behave the same regardless of the layout
    422 direction associated to the user's Locale choice (your layouts will always be left-to-right).
    423 
    424 <p>The default value of this attribute is {@code false}.</p>
    425 
    426 <p>This attribute was added in API level 17.</p>
    427 </dd>
    428 
    429 <dt><a name="aff"></a>{@code android:taskAffinity}</dt>
    430 <dd>An affinity name that applies to all activities within the application,
    431 except for those that set a different affinity with their own
    432 <code><a href="{@docRoot}guide/topics/manifest/activity-element.html#aff">taskAffinity</a></code>
    433 attributes.  See that attribute for more information.
    434 
    435 <p>
    436 By default, all activities within an application share the same
    437 affinity.  The name of that affinity is the same as the package name
    438 set by the
    439 <code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> element.
    440 </p></dd>
    441 
    442 <dt><a name="testOnly"></a>{@code android:testOnly}</dt>
    443 <dd>Indicates whether this application is only for testing purposes. For example,
    444 it may expose functionality or data outside of itself that would cause a security
    445 hole, but is useful for testing. This kind of application can be installed
    446 only through adb.</dd>
    447 
    448 
    449 <dt><a name="theme"></a>{@code android:theme}</dt>
    450 <dd>A reference to a style resource defining a default theme for all
    451 activities in the application.  Individual activities can override
    452 the default by setting their own <code><a href="{@docRoot}guide/topics/manifest/activity-element.html#theme">theme</a></code>
    453 attributes. For more information, see the <a
    454 href="{@docRoot}guide/topics/ui/themes.html">Styles and Themes</a> developer guide.
    455 </dd>
    456 
    457 <!-- ##api level 14## -->
    458 <dt><a name="uioptions"></a>{@code android:uiOptions}</dt>
    459 <dd>Extra options for an activity's UI.
    460   <p>Must be one of the following values.</p>
    461 
    462   <table>
    463     <tr><th>Value</th><th>Description</th></tr>
    464     <tr><td>{@code "none"}</td><td>No extra UI options. This is the default.</td></tr>
    465     <tr><td>{@code "splitActionBarWhenNarrow"}</td><td>Add a bar at
    466 the bottom of the screen to display action items in the <em>app bar</em> (also known as the
    467 <em>action bar</em>), when
    468 constrained for horizontal space (such as when in portrait mode on a handset). Instead of a small
    469 number of action items appearing in the app bar at the top of the screen, the app bar is
    470 split into the top navigation section and the bottom bar for action items. This ensures a reasonable
    471 amount of space is made available not only for the action items, but also for navigation and title
    472 elements at the top. Menu items are not split across the two bars; they always appear
    473 together.</td></tr>
    474   </table>
    475   <p>For more information about the app bar, see the <a
    476 href="{@docRoot}training/appbar/index.html">Adding the App Bar</a> training class.</p>
    477   <p>This attribute was added in API level 14.</p>
    478 </dd>
    479 
    480 <dt><a name="usesCleartextTraffic"></a>{@code android:usesCleartextTraffic}</dt>
    481 <dd>Indicates whether the app intends to use cleartext network traffic, such as cleartext HTTP.
    482 The default value is {@code "true"}.
    483 
    484 <p>When the attribute is set to {@code "false"}, platform components (for example, HTTP and FTP
    485 stacks, {@link android.app.DownloadManager}, {@link android.media.MediaPlayer}) will refuse the
    486 app's requests to use cleartext traffic. Third-party libraries are strongly encouraged to honor this
    487 setting as well. The key reason for avoiding cleartext traffic is the lack of confidentiality,
    488 authenticity, and protections against tampering: a network attacker can eavesdrop on transmitted
    489 data and also modify it without being detected.
    490 
    491 <p>This flag is honored on a best effort basis because it's impossible to prevent all cleartext
    492 traffic from Android applications given the level of access provided to them. For example, there's
    493 no expectation that the {@link java.net.Socket} API will honor this flag because it cannot
    494 determine whether its traffic is in cleartext. However, most network traffic from applications is
    495 handled by higher-level network stacks/components which can honor this flag by either reading it
    496 from {@link android.content.pm.ApplicationInfo#flags ApplicationInfo.flags} or
    497 {@link android.security.NetworkSecurityPolicy#isCleartextTrafficPermitted() NetworkSecurityPolicy.isCleartextTrafficPermitted()}.
    498 
    499 <p>NOTE: {@link android.webkit.WebView} does not honor this flag.
    500 
    501 <p>During app development, StrictMode can be used to identify any cleartext traffic from the app: see
    502 {@link android.os.StrictMode.VmPolicy.Builder#detectCleartextNetwork() StrictMode.VmPolicy.Builder.detectCleartextNetwork()}.
    503 
    504 <p>This attribute was added in API level 23.</p>
    505 
    506 <p>This flag is ignored on Android N and above if an Android Network Security Config is present.</p>
    507 </dd>
    508 
    509 <dt><a name="vmSafeMode"></a>{@code android:vmSafeMode}</dt>
    510 <dd>Indicates whether the app would like the virtual machine (VM) to operate
    511 in safe mode. The default value is {@code "false"}.
    512 
    513 <p> This attribute was added in API level 8 where a value of "true"
    514 disabled the Dalvik just-in-time (JIT) compiler. </p>
    515 
    516 <p> This attribute was adapted in API level 22 where a value of "true"
    517 disabled the ART ahead-of-time (AOT) compiler. </p>
    518 </dd>
    519 
    520 
    521 </dl></dd>
    522 
    523 <!-- ##api level indication## -->
    524 <dt>introduced in:</dt>
    525 <dd>API Level 1</dd>
    526 
    527 <dt>see also:</dt>
    528 <dd><code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</a></code>
    529 <br/><code><a href="{@docRoot}guide/topics/manifest/service-element.html">&lt;service&gt;</a></code>
    530 <br/><code><a href="{@docRoot}guide/topics/manifest/receiver-element.html">&lt;receiver&gt;</a></code>
    531 <br/><code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code></dd>
    532 
    533 </dl>
    534