Get desktop application:
View/edit binary Protocol Buffers messages
Whether a resource comes from a compile-time overlay and is explicitly allowed to not overlay an existing resource.
Used in:
Where this was defined in source.
Any comment associated with the declaration.
A value that represents an array of resource values.
Used in:
The list of array elements.
A single element of the array.
Used in:
Where the element was defined.
Any comments associated with the element.
The value assigned to this element.
A value that represents an XML attribute and what values it accepts.
Used in:
A bitmask of types that this XML attribute accepts. Corresponds to the flags in the enum FormatFlags.
The smallest integer allowed for this XML attribute. Only makes sense if the format includes FormatFlags::INTEGER.
The largest integer allowed for this XML attribute. Only makes sense if the format includes FormatFlags::INTEGER.
The set of enums/flags defined in this attribute. Only makes sense if the format includes either FormatFlags::ENUM or FormatFlags::FLAGS. Having both is an error.
Bitmask of formats allowed for an attribute.
Proto3 requires a default of 0.
Allows any type except ENUM and FLAGS.
Allows Reference values.
Allows String/StyledString values.
Allows any integer BinaryPrimitive values.
Allows any boolean BinaryPrimitive values.
Allows any color BinaryPrimitive values.
Allows any float BinaryPrimitive values.
Allows any dimension BinaryPrimitive values.
Allows any fraction BinaryPrimitive values.
Allows enums that are defined in the Attribute's
symbols. ENUM and FLAGS cannot BOTH be set.
Allows flags that are defined in the Attribute's
A Symbol used to represent an enum or a flag.
Used in:
Where the enum/flag item was defined.
Any comments associated with the enum or flag.
The name of the enum/flag as a reference. Enums/flag items are generated as ID resource values.
The value of the enum/flag.
The data type of the enum/flag as defined in android::Res_value.
Message holding a boolean, so it can be optionally encoded.
Used in:
A CompoundValue is an abstract type. It represents a value that is a made of other values. These can only usually appear as top-level resources. The concrete type is one of the types below. Only one can be set.
Used in:
A Configuration/Value pair.
Used in:
A description of the requirements a device must have in order for a resource to be matched and selected.
Used in:
Mobile country code.
Mobile network code.
BCP-47 locale tag.
Left-to-right, right-to-left...
Screen width in pixels. Prefer screen_width_dp.
Screen height in pixels. Prefer screen_height_dp.
Screen width in density independent pixels (dp).
Screen height in density independent pixels (dp).
The smallest screen dimension, regardless of orientation, in dp.
Whether the device screen is classified as small, normal, large, xlarge.
Whether the device screen is long.
Whether the screen is round (Android Wear).
Whether the screen supports wide color gamut.
Whether the screen has high dynamic range.
Which orientation the device is in (portrait, landscape).
Which type of UI mode the device is in (television, car, etc.).
Whether the device is in night mode.
The device's screen density in dots-per-inch (dpi).
Whether a touchscreen exists, supports a stylus, or finger.
Whether the keyboard hardware keys are currently hidden, exposed, or if the keyboard is a software keyboard.
The type of keyboard present (none, QWERTY, 12-key).
Whether the navigation is exposed or hidden.
The type of navigation present on the device (trackball, wheel, dpad, etc.).
The minimum SDK version of the device.
Grammatical gender.
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
References to non local resources
Used in:
An entry declaration. An entry has a full resource ID that is the combination of package ID, type ID, and its own entry ID. An entry on its own has no value, but values are defined for various configurations/variants.
Used in:
The ID of this entry. Together with the package ID and type ID, this forms a full resource ID of the form 0xPPTTEEEE, where PP is the package ID, TT is the type ID, and EEEE is the entry ID. This may not be set if no ID was assigned.
The name of this entry. This corresponds to the 'entry' part of a full resource name of the form package:type/entry.
The visibility of this entry (public, private, undefined).
Whether this resource, when originating from a compile-time overlay, is allowed to NOT overlay any existing resources.
Whether this resource can be overlaid by a runtime resource overlay (RRO).
The set of values defined for this entry, each corresponding to a different configuration/variant.
The staged resource ID of this finalized resource.
An entry ID in the range [0x0000, 0xffff].
Used in:
A value that is a reference to an external entity, like an XML file or a PNG.
Used in:
Path to a file within the APK (typically res/type-config/entry.ext).
The type of file this path points to. For UAM bundle, this cannot be BINARY_XML.
Used in:
A value that represents an ID. This is just a placeholder, as ID values are used to occupy a resource ID (0xPPTTEEEE) as a unique identifier. Their value is unimportant.
Used in:
(message has no fields)
An Item is an abstract type. It represents a value that can appear inline in many places, such as XML attribute values or on the right hand side of style attribute definitions. The concrete type is one of the types below. Only one can be set.
Used in:
, , , ,Used in:
Used in:
Represents a set of overlayable resources.
Used in:
The name of the <overlayable>.
The location of the <overlayable> declaration in the source.
The component responsible for enabling and disabling overlays targeting this <overlayable>.
Represents an overlayable <item> declaration within an <overlayable> tag.
Used in:
The location of the <item> declaration in source.
Any comment associated with the declaration.
The policy defined by the enclosing <policy> tag of this <item>.
The index into overlayable list that points to the <overlayable> tag that contains this <item>.
Used in:
Defines resources for an Android package.
Used in:
The package ID of this package, in the range [0x00, 0xff]. - ID 0x00 is reserved for shared libraries, or when the ID is assigned at run-time. - ID 0x01 is reserved for the 'android' package (framework). - ID range [0x02, 0x7f) is reserved for auto-assignment to shared libraries at run-time. - ID 0x7f is reserved for the application package. - IDs > 0x7f are reserved for the application as well and are treated as feature splits. This may not be set if no ID was assigned.
The Java compatible Android package name of the app.
The series of types defined by the package.
A package ID in the range [0x00, 0xff].
Used in:
,A value that represents a string and its many variations based on plurality.
Used in:
The set of arity/plural mappings.
The arity of the plural.
Used in:
The plural value for a given arity.
Used in:
Where the plural was defined.
Any comments associated with the plural.
The arity of the plural.
The value assigned to this plural.
A value that represents a primitive data type (float, int, boolean, etc.). Refer to Res_value in ResourceTypes.h for info on types and formatting
Used in:
Used in:
(message has no fields)
Used in:
(message has no fields)
A value that is a raw string, which is unescaped/uninterpreted. This is typically used to represent the value of a style attribute before the attribute is compiled and the set of allowed values is known.
Used in:
A value that is a reference to another resource. This reference can be by name or resource ID.
Used in:
, , , ,The resource ID (0xPPTTEEEE) of the resource being referred. This is optional.
The name of the resource being referred. This is optional if the resource ID is set.
Whether this reference is referencing a private resource (@*package:type/entry).
Whether this reference is dynamic.
The type flags used when compiling the reference. Used for substituting the contents of macros.
Whether raw string values would have been accepted in place of this reference definition. Used for substituting the contents of macros.
Used in:
A plain reference (@package:type/entry).
A reference to a theme attribute (?package:type/entry).
Top level message representing a resource table.
The string pool containing source paths referenced throughout the resource table. This does not end up in the final binary ARSC file.
Resource definitions corresponding to an Android package.
The <overlayable> declarations within the resource table.
The version fingerprints of the tools that built the resource table.
Developer friendly source file information for an entity in the resource table.
Used in:
, , , , , , , , , , ,The index of the string path within the source string pool of a ResourceTable.
The position of a declared entity within a file.
Used in:
, , , ,The staged resource ID definition of a finalized resource.
Used in:
A value that is a string.
Used in:
A string pool that wraps the binary form of the C++ class android::ResStringPool.
Used in:
A value that represents a style.
Used in:
The optinal style from which this style inherits attributes.
The source file information of the parent inheritance declaration.
The set of XML attribute/value pairs for this style.
An XML attribute/value pair defined in the style.
Used in:
Where the entry was defined.
Any comments associated with the entry.
A reference to the XML attribute.
The Item defined for this XML attribute.
Used in:
Used in:
A value that represents a <declare-styleable> XML resource. These are not real resources and only end up as Java fields in the generated R.java. They do not end up in the binary ARSC file.
Used in:
The set of attribute declarations.
An attribute defined for this styleable.
Used in:
Where the attribute was defined within the <declare-styleable> block.
Any comments associated with the declaration.
The reference to the attribute.
A string with styling information, like html tags that specify boldness, italics, etc.
Used in:
The raw text of the string.
A Span marks a region of the string text that is styled.
Used in:
The name of the tag, and its attributes, encoded as follows: tag_name;attr1=value1;attr2=value2;[...]
The first character position this span applies to, in UTF-16 offset.
The last character position this span applies to, in UTF-16 offset.
The name and version fingerprint of a build tool.
Used in:
A set of resources grouped under a common type. Such types include string, layout, xml, dimen, attr, etc. This maps to the second part of a resource identifier in Java (R.type.entry).
Used in:
The ID of the type. This may not be set if no ID was assigned.
The name of the type. This corresponds to the 'type' part of a full resource name of the form package:type/entry. The set of legal type names is listed in Resource.cpp.
The entries defined for this type.
A type ID in the range [0x01, 0xff].
Used in:
Used in:
The generic meta-data for every value in a resource table.
Used in:
Where the value was defined.
Any comment associated with the value.
Whether the value can be overridden.
The value is either an Item or a CompoundValue.
The Visibility of a symbol/entry (public, private, undefined).
Used in:
The path at which this entry's visibility was defined (eg. public.xml).
The comment associated with the <public> tag.
Indicates that the resource id may change across builds and that the public R.java identifier for this resource should not be final. This is set to `true` for resources in `staging-group` tags.
The visibility of the resource outside of its package.
Used in:
No visibility was explicitly specified. This is typically treated as private. The distinction is important when two separate R.java files are generated: a public and private one. An unknown visibility, in this case, would cause the resource to be omitted from either R.java.
A resource was explicitly marked as private. This means the resource can not be accessed outside of its package unless the @*package:type/entry notation is used (the asterisk being the private accessor). If two R.java files are generated (private + public), the resource will only be emitted to the private R.java file.
A resource was explicitly marked as public. This means the resource can be accessed from any package, and is emitted into all R.java files, public and private.
An attribute defined on an XmlElement (android:text="...").
Used in:
Source line and column info.
The optional resource ID (0xPPTTEEEE) of the attribute.
The optional interpreted/compiled version of the `value` string.
An <element> in an XML document.
Used in:
Namespaces defined on this element.
The namespace URI of this element.
The name of this element.
The attributes of this element.
The children of this element.
A namespace declaration on an XmlElement (xmlns:android="http://...").
Used in:
Source line and column info.
Defines an abstract XmlNode that must be either an XmlElement, or a text node represented by a string.
Used in:
Source line and column info.