- syntax:
<instrumentation android:functionalTest=["true" | "false"] android:handleProfiling=["true" | "false"] android:icon="drawable resource" android:label="string resource" android:name="string" android:targetPackage="string" android:targetProcesses="string" />
- contained in:
<manifest>
- description:
- Declares an
Instrumentation
class that lets you monitor an application's interaction with the system. TheInstrumentation
object is instantiated before any of the application's components. - attributes:
android:functionalTest
- Whether the
Instrumentation
class runs as a functional test. This istrue
if it does andfalse
if not. The default value isfalse
. android:handleProfiling
- Whether the
Instrumentation
object turns profiling on and off. This istrue
if it determines when profiling starts and stops andfalse
if profiling continues the entire time it is running. A value oftrue
enables the object to target profiling at a specific set of operations. The default value isfalse
. android:icon
- An icon that represents the
Instrumentation
class. This attribute must be set as a reference to a drawable resource. android:label
- A user-readable label for the
Instrumentation
class. The label can be set as a raw string or a reference to a string resource. android:name
- The name of the
Instrumentation
subclass. Use a fully qualified class name, such ascom.example.project.StringInstrumentation
. However, as a shorthand, if the first character of the name is a period, it is appended to the package name specified in the<manifest>
element.There is no default. The name must be specified.
android:targetPackage
- The application that the
Instrumentation
object runs against. An application is identified by the package name assigned in its manifest file by the<manifest>
element. android:targetProcesses
The processes that the
Instrumentation
object runs against. A comma-separated list indicates that the instrumentation runs against those specific processes. A value of"*"
indicates that the instrumentation runs against all processes of the app defined inandroid:targetPackage
.If this value isn't provided in the manifest, the instrumentation runs only against the main process of the app defined in
android:targetPackage
.This attribute was added in API level 26.
- introduced in:
- API level 1
<instrumentation>
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# <instrumentation\u003e\n\nsyntax:\n:\n\n ```xml\n \u003cinstrumentation android:functionalTest=[\"true\" | \"false\"]\n android:handleProfiling=[\"true\" | \"false\"]\n android:icon=\"drawable resource\"\n android:label=\"string resource\"\n android:name=\"string\"\n android:targetPackage=\"string\"\n android:targetProcesses=\"string\" /\u003e\n ```\n\ncontained in:\n: [\u003cmanifest\u003e](/guide/topics/manifest/manifest-element)\n\ndescription:\n: Declares an [Instrumentation](/reference/android/app/Instrumentation) class that lets you\n monitor an application's interaction with the system. The `Instrumentation`\n object is instantiated before any of the application's components.\n\nattributes:\n:\n\n `android:functionalTest`\n : Whether the `Instrumentation` class runs as a functional test.\n This is `true` if it does and `false` if not. The\n default value is `false`.\n\n `android:handleProfiling`\n : Whether the `Instrumentation` object turns profiling on and\n off. This is `true` if it determines when profiling starts and\n stops and `false` if profiling continues the entire time it is\n running. A value of `true` enables the object to target profiling\n at a specific set of operations. The default value is `false`.\n\n `android:icon`\n : An icon that represents the `Instrumentation` class. This attribute\n must be set as a reference to a drawable resource.\n\n `android:label`\n : A user-readable label for the `Instrumentation` class. The label\n can be set as a raw string or a reference to a string resource.\n\n `android:name`\n : The name of the `Instrumentation` subclass.\n Use a fully qualified class name, such as\n `com.example.project.StringInstrumentation`. However, as a shorthand,\n if the first character of the name is a period, it is appended to the package\n name specified in the [\u003cmanifest\u003e](/guide/topics/manifest/manifest-element) element.\n\n\n There is no default. The name must be specified.\n\n `android:targetPackage`\n : The application that the `Instrumentation` object runs\n against. An application is identified by the package name assigned in its\n manifest file by the `\u003cmanifest\u003e` element.\n\n `android:targetProcesses`\n\n : The processes that the `Instrumentation` object\n runs against. A comma-separated list indicates that the instrumentation runs\n against those specific processes. A value of `\"*\"` indicates that the\n instrumentation runs against all processes of the app defined in\n `android:targetPackage`.\n\n If this value isn't provided in the manifest, the instrumentation runs\n only against the main process of the app defined in\n `android:targetPackage`.\n\n This attribute was added in API level 26.\n\nintroduced in:\n: API level 1"]]