syntax:
:

    ```xml
    <property android:name="string"
               android:resource="resource specification"
               android:value="string" />
    ```

contained in:
:   [<activity>](https://developer.android.com/guide/topics/manifest/activity-element)  
    [<activity-alias>](https://developer.android.com/guide/topics/manifest/activity-alias-element)  
    [<application>](https://developer.android.com/guide/topics/manifest/application-element)  
    [<provider>](https://developer.android.com/guide/topics/manifest/provider-element)  
    [<receiver>](https://developer.android.com/guide/topics/manifest/receiver-element)  
    [<service>](https://developer.android.com/guide/topics/manifest/service-element)

description:
:   A name-value pair for an item of additional, arbitrary data that can be supplied to the parent component. A component element can contain any number of`<property>`subelements. Valid names include any of the[property constants](https://developer.android.com/reference/android/content/pm/PackageManager#constants_1)defined in the[PackageManager](https://developer.android.com/reference/android/content/pm/PackageManager)class,[PackageManager.Property](https://developer.android.com/reference/android/content/pm/PackageManager.Property)tags defined in classes such as[WindowProperties](https://developer.android.com/reference/kotlin/androidx/window/WindowProperties), and arbitrary constants defined ad hoc. Obtain values individually using the[PackageManager.getProperty()](https://developer.android.com/reference/android/content/pm/PackageManager#getProperty(java.lang.String,%20java.lang.String))method.

    Specify ordinary values with the[android:value](https://developer.android.com/guide/topics/manifest/property-element#val)`
    `attribute. Specify resource IDs with the[android:resource](https://developer.android.com/guide/topics/manifest/property-element#rsrc)attribute. Specifying both`android:value`and`android:resource`is invalid.

    For example, the following code assigns whatever value is stored in the`@string/kangaroo`resource to the`zoo`name:  

    ```xml
    <property android:name="zoo" android:value=”@string/kangaroo” />
    ```

    The code here, however, assigns the numeric ID of the resource, not the value stored in the resource, to`zoo`:  

    ```xml
    <property android:name="zoo" android:resource=”@string/kangaroo” />
    ```

attributes:
:

    `android:name`
    :   The name of the property. A parsing error results if multiple, sibling`<property>`tags have the same name.

    `android:resource`
    :   A reference to a resource. The ID of the resource is the value assigned to the property. The ID can be retrieved from the property by[PackageManager.Property.getResourceId()](https://developer.android.com/reference/android/content/pm/PackageManager.Property#getResourceId()).

    `android:value`
    :   A value assigned to the property. The following table lists valid data types and accessor methods for the value attribute:  

        |                                                       Type                                                        |                                        PackageManager.Property accessor                                         |
        |-------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|
        | String: Use double backslashes (\\\\) to escape characters; for example,`\\n`and`\\uxxxxx`for a Unicode character | [getString()](https://developer.android.com/reference/android/content/pm/PackageManager.Property#getString())   |
        | Integer: For example,`100`                                                                                        | [getInteger()](https://developer.android.com/reference/android/content/pm/PackageManager.Property#getInteger()) |
        | Boolean: Either`true`or`false`                                                                                    | [getBoolean()](https://developer.android.com/reference/android/content/pm/PackageManager.Property#getBoolean()) |
        | Color: In the form`#rgb`,`#argb`,`#rrggbb`, or`#aarrggbb`                                                         | [getInteger()](https://developer.android.com/reference/android/content/pm/PackageManager.Property#getInteger()) |
        | Float: For example,`1.23`                                                                                         | [getFloat()](https://developer.android.com/reference/android/content/pm/PackageManager.Property#getFloat())     |

introduced in:
:   API Level 31