allowClearUserData=["true" | "false"]
allowTaskReparenting=["true" | "false"]
debuggable=["true" | "false"]
enabled=["true" | "false"]
hasCode=["true" | "false"]
persistent=["true" | "false"]
theme="resource or theme" >
. . .
- contained in:
- can contain:
- The declaration of the application. This element contains subelements
that declare each of the application's components and has attributes
that can affect all the components. Many of these attributes (such as
allowTaskReparenting) set default values
for corresponding attributes of the component elements. Others (such as
allowClearUserData) set values for the application as a whole and
cannot be overridden by the components.
- Whether or not users are given the option to remove user data —
true" if they are, and "
false" if not. If the value is
true", as it is by default, the application manager includes an
option that allows users to clear the data.
- Whether or not activities that the application defines can move from
the task that started them to the task they have an affinity for when that task
is next brought to the front — "
true" if they can move, and
false" if they must remain with the task where they started.
The default value is "
element has its own
attribute that can override the value set here. See that attribute for more
- Whether or not the application can be debugged, even when running
on a device in user mode — "
true" if it can be, and "
if not. The default value is "
- 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.
- Whether or not the Android system can instantiate components of
the application — "
true" if it can, and "
if not. If the value is "
true", each component's
enabled attribute determines whether that component is enabled
or not. If the value is "
false", it overrides the
component-specific values; all components are disabled.
The default value is "
- Whether or not the application contains any code — "
if it does, and "
false" if not. When the value is "
the system does not try to load any application code when launching components.
The default value is "
An application would not have any code of its own only if it's using nothing
but built-in component classes, such as an activity that uses the AliasActivity class, a rare occurrence.
- An icon for the application as whole, and the default icon for
each of the application's components. See the individual
icon attributes for
This attribute must be set as a reference to a drawable resource containing
the image definition. There is no default icon.
- A user-readable label for the application as a whole, and a default
label for each of the application's components. See the individual
label attributes for
The label should be set as a reference to a string resource, so that
it can be localized like other strings in the user interface.
However, as a convenience while you're developing the application,
it can also be set as a raw string.
- The fully qualified name of an Activity subclass that the system
can launch to let users manage the memory occupied by the application
on the device. The activity should also be declared with an
- The fully qualified name of an Application
subclass implemented for the application. When the application process
is started, this class is instantiated before any of the application's
The subclass is optional; most applications won't need one.
In the absence of a subclass, Android uses an instance of the base
- The name of a permission that clients must have in order to interact
with the application. This attribute is a convenient way to set a
permission that applies to all of the application's components. It can
be overwritten by setting the
permission attributes of individual
For more information on permissions, see the
section in the introduction and another document,
- Whether or not the application should remain running at all times —
true" if it should, and "
false" if not. The default value
false". Applications should not normally set this flag;
persistence mode is intended only for certain system applications.
- The name of a process where all components of the application should run.
Each component can override this default by setting its own
By default, Android creates a process for an application when the first
of its components needs to run. All components then run in that process.
The name of the default process matches the package name set by the
By setting this attribute to a process name that's shared with another
application, you can arrange for components of both applications to run in
the same process — but only if the two applications also share a
user ID and be signed with the same certificate.
If the name assigned to this attribute begins with a colon (':'), a new
process, private to the application, is created when it's needed.
If the process name begins with a lowercase character, a global process
of that name is created. A global process can be shared with other
applications, reducing resource usage.
- An affinity name that applies to all activities within the application,
except for those that set a different affinity with their own
attributes. See that attribute for more information.
By default, all activities within an application share the same
affinity. The name of that affinity is the same as the package name
set by the
- A reference to a style resource defining a default theme for all
activities in the application. Individual activities can override
the default by setting their own
attributes; see that attribute for more information.
- introduced in:
- API Level 1
- see also: