reis-mobile 0.3.6 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +24 -0
  4. package/README.md +175 -168
  5. package/THIRD_PARTY_NOTICES.md +224 -4
  6. package/agents/android-architect.md +89 -0
  7. package/agents/android-performance-engineer.md +92 -0
  8. package/agents/android-test-engineer.md +97 -0
  9. package/agents/flutter-test-engineer.md +2 -0
  10. package/agents/ios-architect.md +93 -0
  11. package/agents/ios-performance-engineer.md +92 -0
  12. package/agents/ios-test-engineer.md +95 -0
  13. package/agents/lead-mobile.md +10 -1
  14. package/agents/mobile-staff-engineer.md +1 -1
  15. package/agents/rn-architect.md +94 -0
  16. package/agents/rn-performance-engineer.md +92 -0
  17. package/agents/rn-test-engineer.md +98 -0
  18. package/bin/reis-mobile.mjs +59 -17
  19. package/commands/debate.md +10 -1
  20. package/commands/debug.md +60 -0
  21. package/commands/reis-mobile.md +7 -2
  22. package/core/config/project.mjs +59 -0
  23. package/core/registry/frontmatter.mjs +15 -4
  24. package/core/registry/registry.mjs +21 -1
  25. package/core/router/intents.mjs +2 -0
  26. package/core/router/router.mjs +10 -5
  27. package/package.json +1 -1
  28. package/skills/android-adaptive/SKILL.md +304 -0
  29. package/skills/android-adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/container-behavior.md +112 -0
  30. package/skills/android-adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/get-started.md +69 -0
  31. package/skills/android-adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/index.md +81 -0
  32. package/skills/android-adaptive/references/android/develop/ui/compose/layouts/adaptive/flexbox/item-behavior.md +170 -0
  33. package/skills/android-adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/container-properties.md +415 -0
  34. package/skills/android-adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/get-started.md +51 -0
  35. package/skills/android-adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/index.md +73 -0
  36. package/skills/android-adaptive/references/android/develop/ui/compose/layouts/adaptive/grid/item-properties.md +170 -0
  37. package/skills/android-adaptive/references/android/develop/ui/compose/layouts/adaptive/mediaquery/index.md +333 -0
  38. package/skills/android-adaptive/references/android/develop/ui/compose/tooling/debug.md +114 -0
  39. package/skills/android-adaptive/references/android/guide/navigation/navigation-3/recipes/material-listdetail.md +141 -0
  40. package/skills/android-agp-9-upgrade/SKILL.md +106 -0
  41. package/skills/android-agp-9-upgrade/references/android/build/migrate-to-built-in-kotlin.md +416 -0
  42. package/skills/android-agp-9-upgrade/references/android/build/releases/agp-9-0-0-release-notes.md +554 -0
  43. package/skills/android-agp-9-upgrade/references/buildconfig.md +54 -0
  44. package/skills/android-agp-9-upgrade/references/ksp-kapt.md +39 -0
  45. package/skills/android-agp-9-upgrade/references/paparazzi-gradle-9.md +30 -0
  46. package/skills/android-agp-9-upgrade/references/recipes.md +62 -0
  47. package/skills/android-appfunctions/SKILL.md +74 -0
  48. package/skills/android-appfunctions/references/adb-interaction-testing.md +95 -0
  49. package/skills/android-appfunctions/references/context.md +26 -0
  50. package/skills/android-appfunctions/references/feature-discovery-analysis.md +71 -0
  51. package/skills/android-appfunctions/references/implementation-configuration.md +282 -0
  52. package/skills/android-appfunctions/references/kdoc-refinement-optimization.md +75 -0
  53. package/skills/android-appfunctions/references/migrate-to-service-entry-point.md +226 -0
  54. package/skills/android-camerax/SKILL.md +135 -0
  55. package/skills/android-camerax/references/camera1-to-camerax.md +198 -0
  56. package/skills/android-camerax/references/camera2-to-camerax.md +193 -0
  57. package/skills/android-camerax/references/expert-blueprints.md +58 -0
  58. package/skills/android-camerax/references/foldables.md +83 -0
  59. package/skills/android-camerax/references/immutability.md +60 -0
  60. package/skills/android-camerax/references/low-light.md +124 -0
  61. package/skills/android-camerax/references/mlkit-spatial.md +75 -0
  62. package/skills/android-camerax/references/modern-apis.md +42 -0
  63. package/skills/android-camerax/references/testing.md +69 -0
  64. package/skills/android-camerax/references/thermals.md +85 -0
  65. package/skills/android-camerax/references/wear-os.md +76 -0
  66. package/skills/android-camerax/references/xr.md +54 -0
  67. package/skills/android-cli/SKILL.md +474 -0
  68. package/skills/android-cli/references/interact.md +113 -0
  69. package/skills/android-cli/references/journeys.md +120 -0
  70. package/skills/android-code-review/SKILL.md +58 -0
  71. package/skills/android-display-glasses-with-jetpack-compose-glimmer/SKILL.md +340 -0
  72. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/android/design/ui/ai-glasses/guides/interaction/inputs.md +67 -0
  73. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/access-hardware-projected-context.md +388 -0
  74. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/buttons.md +139 -0
  75. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/cards.md +148 -0
  76. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/focus.md +107 -0
  77. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/icons.md +90 -0
  78. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/text.md +69 -0
  79. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/title-chips.md +82 -0
  80. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/android/develop/xr/jetpack-xr-sdk/request-hardware-permissions.md +213 -0
  81. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/button-samples-source.md +176 -0
  82. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/button-source.md +203 -0
  83. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/card-samples-source.md +296 -0
  84. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/card-source.md +515 -0
  85. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/deptheffect-source.md +224 -0
  86. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/deptheffectlevels-source.md +105 -0
  87. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/glimmersansflextypography-source.md +270 -0
  88. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/glimmertheme-source.md +182 -0
  89. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/icon-source.md +388 -0
  90. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/iconbutton-source.md +126 -0
  91. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/iconsizes-source.md +78 -0
  92. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/list-source.md +27 -0
  93. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/listitem-source.md +272 -0
  94. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/liststate-source.md +427 -0
  95. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/material-hct-source.md +217 -0
  96. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/projectedcontext-source.md +265 -0
  97. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/stack-source.md +368 -0
  98. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/stackitemscope-source.md +440 -0
  99. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/stackstate-source.md +325 -0
  100. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/surface-source.md +1211 -0
  101. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/titlechip-samples-source.md +101 -0
  102. package/skills/android-display-glasses-with-jetpack-compose-glimmer/references/titlechip-source.md +131 -0
  103. package/skills/android-edge-to-edge/SKILL.md +429 -0
  104. package/skills/android-engage-sdk-integration/SKILL.md +130 -0
  105. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/faq.md +439 -0
  106. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/food.md +1149 -0
  107. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/healthandfitness.md +1055 -0
  108. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/listen.md +1050 -0
  109. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/otherverticals.md +1301 -0
  110. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/read.md +910 -0
  111. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/shopping.md +1224 -0
  112. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/social.md +719 -0
  113. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/travel.md +1413 -0
  114. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/tv/continue-watching/index.md +19 -0
  115. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/tv/entitlements.md +353 -0
  116. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/tv/getting-started.md +202 -0
  117. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/tv/recommendations.md +471 -0
  118. package/skills/android-engage-sdk-integration/references/android/guide/playcore/engage/watch.md +1081 -0
  119. package/skills/android-engage-sdk-integration/references/clusters.md +154 -0
  120. package/skills/android-engage-sdk-integration/references/common.md +519 -0
  121. package/skills/android-engage-sdk-integration/references/patterns.md +527 -0
  122. package/skills/android-engage-sdk-integration/references/requests.md +260 -0
  123. package/skills/android-engage-sdk-integration/references/schemas/food.md +509 -0
  124. package/skills/android-engage-sdk-integration/references/schemas/listen.md +842 -0
  125. package/skills/android-engage-sdk-integration/references/schemas/other.md +220 -0
  126. package/skills/android-engage-sdk-integration/references/schemas/read.md +412 -0
  127. package/skills/android-engage-sdk-integration/references/schemas/shopping.md +357 -0
  128. package/skills/android-engage-sdk-integration/references/schemas/social.md +228 -0
  129. package/skills/android-engage-sdk-integration/references/schemas/travel.md +923 -0
  130. package/skills/android-engage-sdk-integration/references/schemas/tv.md +1226 -0
  131. package/skills/android-engage-sdk-integration/references/schemas/watch.md +1137 -0
  132. package/skills/android-engage-sdk-integration/references/troubleshooting.md +39 -0
  133. package/skills/android-gradle-build-debug/SKILL.md +71 -0
  134. package/skills/android-intent-security/SKILL.md +550 -0
  135. package/skills/android-leanback-to-compose-tv-migration/SKILL.md +743 -0
  136. package/skills/android-leanback-to-compose-tv-migration/references/android/training/tv/get-started/navigation.md +372 -0
  137. package/skills/android-leanback-to-compose-tv-migration/references/android/training/tv/playback/compose/browse.md +243 -0
  138. package/skills/android-leanback-to-compose-tv-migration/references/android/training/tv/playback/compose/index.md +153 -0
  139. package/skills/android-media3-cast-integration/SKILL.md +236 -0
  140. package/skills/android-media3-cast-integration/references/android/media/media3/cast/create-castplayer.md +390 -0
  141. package/skills/android-media3-cast-integration/references/android/media/media3/cast/customize-castoptions.md +93 -0
  142. package/skills/android-media3-cast-integration/references/android/media/media3/cast/index.md +21 -0
  143. package/skills/android-migrate-xml-views-to-jetpack-compose/SKILL.md +127 -0
  144. package/skills/android-migrate-xml-views-to-jetpack-compose/references/analysis-of-the-project-and-layout.md +42 -0
  145. package/skills/android-migrate-xml-views-to-jetpack-compose/references/android/develop/ui/compose/designsystems/migrate-xml-theme-to-compose.md +171 -0
  146. package/skills/android-migrate-xml-views-to-jetpack-compose/references/android/develop/ui/compose/migrate/interoperability-apis/compose-in-views.md +299 -0
  147. package/skills/android-migrate-xml-views-to-jetpack-compose/references/android/develop/ui/compose/migrate/interoperability-apis/views-in-compose.md +286 -0
  148. package/skills/android-migrate-xml-views-to-jetpack-compose/references/android/develop/ui/compose/setup-compose-dependencies-and-compiler.md +197 -0
  149. package/skills/android-migrate-xml-views-to-jetpack-compose/references/identify-optimal-xml-candidate.md +31 -0
  150. package/skills/android-migrate-xml-views-to-jetpack-compose/references/xml-layout-migration.md +86 -0
  151. package/skills/android-ml-kit-genai-prompt-api/SKILL.md +124 -0
  152. package/skills/android-ml-kit-genai-prompt-api/references/get-started.md +272 -0
  153. package/skills/android-ml-kit-genai-prompt-api/references/prefix-caching.md +146 -0
  154. package/skills/android-ml-kit-genai-prompt-api/references/prompt-design.md +55 -0
  155. package/skills/android-ml-kit-genai-prompt-api/references/prompt-optimization.md +74 -0
  156. package/skills/android-ml-kit-genai-prompt-api/references/structured-output.md +219 -0
  157. package/skills/android-ml-kit-genai-prompt-api/references/system-instructions.md +71 -0
  158. package/skills/android-navigation-3/SKILL.md +122 -0
  159. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/index.md +51 -0
  160. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/migration-guide.md +670 -0
  161. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/animations.md +147 -0
  162. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/basic.md +89 -0
  163. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/basicdsl.md +85 -0
  164. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/basicsaveable.md +90 -0
  165. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/bottomsheet.md +195 -0
  166. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/common-ui.md +200 -0
  167. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/conditional-transitions.md +182 -0
  168. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/conditional.md +230 -0
  169. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/deeplinks-custommatcher.md +176 -0
  170. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/deeplinks-staticuri.md +140 -0
  171. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/deeplinks-syntheticbackstack.md +184 -0
  172. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/dialog.md +107 -0
  173. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/lifecycle-owner.md +185 -0
  174. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/material-listdetail.md +141 -0
  175. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/material-supportingpane.md +145 -0
  176. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/modular-hilt.md +283 -0
  177. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/modular-koin.md +287 -0
  178. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/multiple-backstacks.md +468 -0
  179. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/passingarguments.md +371 -0
  180. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/results-event.md +273 -0
  181. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/results-state.md +266 -0
  182. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/scenes-listdetail.md +435 -0
  183. package/skills/android-navigation-3/references/android/guide/navigation/navigation-3/recipes/scenes-twopane.md +244 -0
  184. package/skills/android-navigation-3/references/android/guide/navigation/type-safe-destinations.md +129 -0
  185. package/skills/android-navigation-event/SKILL.md +312 -0
  186. package/skills/android-navigation-event/references/android/guide/navigation/navigation-event/dispatcher.md +134 -0
  187. package/skills/android-navigation-event/references/android/guide/navigation/navigation-event/handle-back.md +217 -0
  188. package/skills/android-navigation-event/references/android/guide/navigation/navigation-event/index.md +83 -0
  189. package/skills/android-navigation-event/references/android/guide/navigation/navigation-event/setup.md +32 -0
  190. package/skills/android-play-billing-library-version-upgrade/SKILL.md +96 -0
  191. package/skills/android-play-billing-library-version-upgrade/references/android/google/play/billing/release-notes.md +1240 -0
  192. package/skills/android-play-billing-library-version-upgrade/references/migration-logic.md +78 -0
  193. package/skills/android-play-billing-library-version-upgrade/references/version-checklist.md +54 -0
  194. package/skills/android-play-policy-insights/SKILL.md +172 -0
  195. package/skills/android-play-policy-insights/resources/common_mandates.md +100 -0
  196. package/skills/android-play-policy-insights/resources/compliance_report_template.md +59 -0
  197. package/skills/android-play-policy-insights/resources/critic.md +86 -0
  198. package/skills/android-play-policy-insights/resources/goal_data_safety.md +212 -0
  199. package/skills/android-play-policy-insights/resources/goal_permissions_and_apis.md +459 -0
  200. package/skills/android-play-policy-insights/resources/goal_user_account.md +106 -0
  201. package/skills/android-play-policy-insights/resources/policies.json +321 -0
  202. package/skills/android-play-policy-insights/resources/scanner_config.json +843 -0
  203. package/skills/android-play-policy-insights/scripts/generate_report.py +860 -0
  204. package/skills/android-play-policy-insights/scripts/orchestrator.py +1313 -0
  205. package/skills/android-play-policy-insights/scripts/play_store_scraper.py +410 -0
  206. package/skills/android-play-policy-insights/scripts/scanner.py +261 -0
  207. package/skills/android-play-policy-insights/scripts/template_engine.py +243 -0
  208. package/skills/android-profiler/SKILL.md +60 -0
  209. package/skills/android-profiler/analysis/analysis_orchestrator.md +32 -0
  210. package/skills/android-profiler/analysis/workflows/perfetto-sql/perfetto_sql.md +28 -0
  211. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/perfetto_trace_analysis.md +121 -0
  212. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/guiding_principles.md +51 -0
  213. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/domain_hints_template.md +7 -0
  214. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_cpu.md +56 -0
  215. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_graphics.md +51 -0
  216. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_io.md +46 -0
  217. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_ipc.md +41 -0
  218. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_memory.md +55 -0
  219. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/hints/subsystems/hints_power.md +33 -0
  220. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/per_candidate_analysis.md +172 -0
  221. package/skills/android-profiler/analysis/workflows/perfetto-trace-analysis/references/triage.md +94 -0
  222. package/skills/android-profiler/recording/recording_orchestrator.md +36 -0
  223. package/skills/android-profiler/recording/workflows/perfetto-trace-recording/perfetto_trace_recording.md +148 -0
  224. package/skills/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/app_jank.pftxt +43 -0
  225. package/skills/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/cpu_profile.pftxt +35 -0
  226. package/skills/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/java_heap_dump.pftxt +21 -0
  227. package/skills/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/long_background.pftxt +37 -0
  228. package/skills/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/memory_counters.pftxt +45 -0
  229. package/skills/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/native_heap.pftxt +21 -0
  230. package/skills/android-profiler/recording/workflows/perfetto-trace-recording/references/example-configs/sched_cpu.pftxt +33 -0
  231. package/skills/android-profiler/recording/workflows/perfetto-trace-recording/references/trace_config_reference.md +102 -0
  232. package/skills/android-profiler/references/env_setup.md +15 -0
  233. package/skills/android-profiler/references/perfetto/setup.md +29 -0
  234. package/skills/android-profiler/references/perfetto/sql.md +327 -0
  235. package/skills/android-r8-analyzer/SKILL.md +72 -0
  236. package/skills/android-r8-analyzer/references/CONFIGURATION-ANALYZER.md +287 -0
  237. package/skills/android-r8-analyzer/references/CONFIGURATION.md +44 -0
  238. package/skills/android-r8-analyzer/references/KEEP-RULES-IMPACT-HIERARCHY.md +83 -0
  239. package/skills/android-r8-analyzer/references/REDUNDANT-RULES.md +222 -0
  240. package/skills/android-r8-analyzer/references/REFLECTION-GUIDE.md +139 -0
  241. package/skills/android-r8-analyzer/references/REPORT_FORMAT.md +51 -0
  242. package/skills/android-r8-analyzer/references/android/topic/performance/app-optimization/enable-app-optimization.md +252 -0
  243. package/skills/android-r8-analyzer/references/android/training/testing/other-components/ui-automator.md +312 -0
  244. package/skills/android-restore-credentials/SKILL.md +359 -0
  245. package/skills/android-restore-credentials/references/android/guide/topics/manifest/application-element.md +832 -0
  246. package/skills/android-restore-credentials/references/android/identity/passkeys/create-passkeys.md +327 -0
  247. package/skills/android-restore-credentials/references/android/identity/passkeys/sign-in-with-passkeys.md +219 -0
  248. package/skills/android-styles/SKILL.md +229 -0
  249. package/skills/android-styles/references/android/develop/ui/compose/designsystems/custom.md +459 -0
  250. package/skills/android-styles/references/android/develop/ui/compose/styles/fundamentals.md +421 -0
  251. package/skills/android-styles/references/android/develop/ui/compose/styles/state-animations.md +461 -0
  252. package/skills/android-styles/references/android/develop/ui/compose/styles/styles-vs-modifiers.md +48 -0
  253. package/skills/android-styles/references/android/develop/ui/compose/styles/theming.md +269 -0
  254. package/skills/android-verified-email/SKILL.md +432 -0
  255. package/skills/android-verified-email/references/android/identity/credential-manager/index.md +67 -0
  256. package/skills/android-verified-email/references/android/identity/digital-credentials/credential-verifier.md +166 -0
  257. package/skills/android-verified-email/references/android/identity/digital-credentials/email-verification-implementation.md +313 -0
  258. package/skills/android-verified-email/references/android/identity/digital-credentials/email-verification.md +158 -0
  259. package/skills/android-verified-email/references/android/identity/digital-credentials/index.md +112 -0
  260. package/skills/android-verified-email/references/android/identity/passkeys/create-passkeys.md +327 -0
  261. package/skills/android-verified-email/references/android/identity/sign-in/credential-manager-webview.md +84 -0
  262. package/skills/android-wear-compose-m3/SKILL.md +365 -0
  263. package/skills/android-wear-compose-m3/references/android/training/wearables/compose/migrate-to-material3.md +677 -0
  264. package/skills/android-wear-compose-m3/references/foundation/AmbientModeSample.kt.md +123 -0
  265. package/skills/android-wear-compose-m3/references/foundation/AmbientModeSample.kt.md.txt +123 -0
  266. package/skills/android-wear-compose-m3/references/foundation/CurvedWorldSample.kt.md +430 -0
  267. package/skills/android-wear-compose-m3/references/foundation/CurvedWorldSample.kt.md.txt +430 -0
  268. package/skills/android-wear-compose-m3/references/foundation/ExpandableSample.kt.md +99 -0
  269. package/skills/android-wear-compose-m3/references/foundation/ExpandableSample.kt.md.txt +99 -0
  270. package/skills/android-wear-compose-m3/references/foundation/HierarchicalFocusSample.kt.md +141 -0
  271. package/skills/android-wear-compose-m3/references/foundation/HierarchicalFocusSample.kt.md.txt +141 -0
  272. package/skills/android-wear-compose-m3/references/foundation/PagerSamples.kt.md +56 -0
  273. package/skills/android-wear-compose-m3/references/foundation/PagerSamples.kt.md.txt +56 -0
  274. package/skills/android-wear-compose-m3/references/foundation/RotarySamples.kt.md +153 -0
  275. package/skills/android-wear-compose-m3/references/foundation/RotarySamples.kt.md.txt +153 -0
  276. package/skills/android-wear-compose-m3/references/foundation/ScalingLazyColumnSample.kt.md +131 -0
  277. package/skills/android-wear-compose-m3/references/foundation/ScalingLazyColumnSample.kt.md.txt +131 -0
  278. package/skills/android-wear-compose-m3/references/foundation/SwipeToDismissBoxSample.kt.md +169 -0
  279. package/skills/android-wear-compose-m3/references/foundation/SwipeToDismissBoxSample.kt.md.txt +169 -0
  280. package/skills/android-wear-compose-m3/references/foundation/SwipeToRevealSample.kt.md +282 -0
  281. package/skills/android-wear-compose-m3/references/foundation/SwipeToRevealSample.kt.md.txt +282 -0
  282. package/skills/android-wear-compose-m3/references/foundation/TransformingLazyColumnSample.kt.md +335 -0
  283. package/skills/android-wear-compose-m3/references/foundation/TransformingLazyColumnSample.kt.md.txt +335 -0
  284. package/skills/android-wear-compose-m3/references/material3/AlertDialogSample.kt.md +377 -0
  285. package/skills/android-wear-compose-m3/references/material3/AlertDialogSample.kt.md.txt +377 -0
  286. package/skills/android-wear-compose-m3/references/material3/AnimatedTextSample.kt.md +165 -0
  287. package/skills/android-wear-compose-m3/references/material3/AnimatedTextSample.kt.md.txt +165 -0
  288. package/skills/android-wear-compose-m3/references/material3/ButtonGroupSample.kt.md +91 -0
  289. package/skills/android-wear-compose-m3/references/material3/ButtonGroupSample.kt.md.txt +91 -0
  290. package/skills/android-wear-compose-m3/references/material3/ButtonSample.kt.md +496 -0
  291. package/skills/android-wear-compose-m3/references/material3/ButtonSample.kt.md.txt +496 -0
  292. package/skills/android-wear-compose-m3/references/material3/CardSample.kt.md +470 -0
  293. package/skills/android-wear-compose-m3/references/material3/CardSample.kt.md.txt +470 -0
  294. package/skills/android-wear-compose-m3/references/material3/CheckboxButtonSample.kt.md +67 -0
  295. package/skills/android-wear-compose-m3/references/material3/CheckboxButtonSample.kt.md.txt +67 -0
  296. package/skills/android-wear-compose-m3/references/material3/ConfirmationDialogSample.kt.md +162 -0
  297. package/skills/android-wear-compose-m3/references/material3/ConfirmationDialogSample.kt.md.txt +162 -0
  298. package/skills/android-wear-compose-m3/references/material3/CurvedTextSamples.kt.md +78 -0
  299. package/skills/android-wear-compose-m3/references/material3/CurvedTextSamples.kt.md.txt +78 -0
  300. package/skills/android-wear-compose-m3/references/material3/DatePickerSample.kt.md +131 -0
  301. package/skills/android-wear-compose-m3/references/material3/DatePickerSample.kt.md.txt +131 -0
  302. package/skills/android-wear-compose-m3/references/material3/DynamicColorSchemeSample.kt.md +74 -0
  303. package/skills/android-wear-compose-m3/references/material3/DynamicColorSchemeSample.kt.md.txt +74 -0
  304. package/skills/android-wear-compose-m3/references/material3/EdgeButtonSample.kt.md +63 -0
  305. package/skills/android-wear-compose-m3/references/material3/EdgeButtonSample.kt.md.txt +63 -0
  306. package/skills/android-wear-compose-m3/references/material3/FadingExpandingLabelSample.kt.md +60 -0
  307. package/skills/android-wear-compose-m3/references/material3/FadingExpandingLabelSample.kt.md.txt +60 -0
  308. package/skills/android-wear-compose-m3/references/material3/IconButtonSample.kt.md +125 -0
  309. package/skills/android-wear-compose-m3/references/material3/IconButtonSample.kt.md.txt +125 -0
  310. package/skills/android-wear-compose-m3/references/material3/IconToggleButtonSample.kt.md +116 -0
  311. package/skills/android-wear-compose-m3/references/material3/IconToggleButtonSample.kt.md.txt +116 -0
  312. package/skills/android-wear-compose-m3/references/material3/LevelIndicatorSample.kt.md +68 -0
  313. package/skills/android-wear-compose-m3/references/material3/LevelIndicatorSample.kt.md.txt +68 -0
  314. package/skills/android-wear-compose-m3/references/material3/LinearProgressIndicatorSample.kt.md +50 -0
  315. package/skills/android-wear-compose-m3/references/material3/LinearProgressIndicatorSample.kt.md.txt +50 -0
  316. package/skills/android-wear-compose-m3/references/material3/ListHeaderSample.kt.md +177 -0
  317. package/skills/android-wear-compose-m3/references/material3/ListHeaderSample.kt.md.txt +177 -0
  318. package/skills/android-wear-compose-m3/references/material3/OneHandedGestureSamples.kt.md +651 -0
  319. package/skills/android-wear-compose-m3/references/material3/OneHandedGestureSamples.kt.md.txt +651 -0
  320. package/skills/android-wear-compose-m3/references/material3/OpenOnPhoneDialogSample.kt.md +57 -0
  321. package/skills/android-wear-compose-m3/references/material3/OpenOnPhoneDialogSample.kt.md.txt +57 -0
  322. package/skills/android-wear-compose-m3/references/material3/PageIndicatorSample.kt.md +110 -0
  323. package/skills/android-wear-compose-m3/references/material3/PageIndicatorSample.kt.md.txt +110 -0
  324. package/skills/android-wear-compose-m3/references/material3/PagerScaffoldSample.kt.md +204 -0
  325. package/skills/android-wear-compose-m3/references/material3/PagerScaffoldSample.kt.md.txt +204 -0
  326. package/skills/android-wear-compose-m3/references/material3/PickerGroupSample.kt.md +139 -0
  327. package/skills/android-wear-compose-m3/references/material3/PickerGroupSample.kt.md.txt +139 -0
  328. package/skills/android-wear-compose-m3/references/material3/PickerSample.kt.md +111 -0
  329. package/skills/android-wear-compose-m3/references/material3/PickerSample.kt.md.txt +111 -0
  330. package/skills/android-wear-compose-m3/references/material3/PlaceholderSample.kt.md +184 -0
  331. package/skills/android-wear-compose-m3/references/material3/PlaceholderSample.kt.md.txt +184 -0
  332. package/skills/android-wear-compose-m3/references/material3/ProgressIndicatorSample.kt.md +263 -0
  333. package/skills/android-wear-compose-m3/references/material3/ProgressIndicatorSample.kt.md.txt +263 -0
  334. package/skills/android-wear-compose-m3/references/material3/RadioButtonSample.kt.md +105 -0
  335. package/skills/android-wear-compose-m3/references/material3/RadioButtonSample.kt.md.txt +105 -0
  336. package/skills/android-wear-compose-m3/references/material3/ScaffoldSample.kt.md +146 -0
  337. package/skills/android-wear-compose-m3/references/material3/ScaffoldSample.kt.md.txt +146 -0
  338. package/skills/android-wear-compose-m3/references/material3/ScrollAwaySample.kt.md +97 -0
  339. package/skills/android-wear-compose-m3/references/material3/ScrollAwaySample.kt.md.txt +97 -0
  340. package/skills/android-wear-compose-m3/references/material3/ScrollIndicatorSample.kt.md +66 -0
  341. package/skills/android-wear-compose-m3/references/material3/ScrollIndicatorSample.kt.md.txt +66 -0
  342. package/skills/android-wear-compose-m3/references/material3/SliderSample.kt.md +86 -0
  343. package/skills/android-wear-compose-m3/references/material3/SliderSample.kt.md.txt +86 -0
  344. package/skills/android-wear-compose-m3/references/material3/StepperSample.kt.md +148 -0
  345. package/skills/android-wear-compose-m3/references/material3/StepperSample.kt.md.txt +148 -0
  346. package/skills/android-wear-compose-m3/references/material3/SurfaceTransformationSample.kt.md +166 -0
  347. package/skills/android-wear-compose-m3/references/material3/SurfaceTransformationSample.kt.md.txt +166 -0
  348. package/skills/android-wear-compose-m3/references/material3/SwipeToDismissBoxSample.kt.md +172 -0
  349. package/skills/android-wear-compose-m3/references/material3/SwipeToDismissBoxSample.kt.md.txt +172 -0
  350. package/skills/android-wear-compose-m3/references/material3/SwipeToRevealSample.kt.md +367 -0
  351. package/skills/android-wear-compose-m3/references/material3/SwipeToRevealSample.kt.md.txt +367 -0
  352. package/skills/android-wear-compose-m3/references/material3/SwitchButtonSample.kt.md +66 -0
  353. package/skills/android-wear-compose-m3/references/material3/SwitchButtonSample.kt.md.txt +66 -0
  354. package/skills/android-wear-compose-m3/references/material3/TextButtonSample.kt.md +115 -0
  355. package/skills/android-wear-compose-m3/references/material3/TextButtonSample.kt.md.txt +115 -0
  356. package/skills/android-wear-compose-m3/references/material3/TextToggleButtonSample.kt.md +71 -0
  357. package/skills/android-wear-compose-m3/references/material3/TextToggleButtonSample.kt.md.txt +71 -0
  358. package/skills/android-wear-compose-m3/references/material3/TimePickerSample.kt.md +151 -0
  359. package/skills/android-wear-compose-m3/references/material3/TimePickerSample.kt.md.txt +151 -0
  360. package/skills/android-wear-compose-m3/references/material3/TimeTextSample.kt.md +65 -0
  361. package/skills/android-wear-compose-m3/references/material3/TimeTextSample.kt.md.txt +65 -0
  362. package/skills/android-wear-compose-m3/references/material3/TransformationSpecSample.kt.md +246 -0
  363. package/skills/android-wear-compose-m3/references/material3/TransformationSpecSample.kt.md.txt +246 -0
  364. package/skills/android-wear-compose-m3/references/material3/TransformingLazyColumnNotificationsSample.kt.md +89 -0
  365. package/skills/android-wear-compose-m3/references/material3/TransformingLazyColumnNotificationsSample.kt.md.txt +89 -0
  366. package/skills/android-wear-compose-m3/references/material3/TransformingLazyColumnSample.kt.md +309 -0
  367. package/skills/android-wear-compose-m3/references/material3/TransformingLazyColumnSample.kt.md.txt +309 -0
  368. package/skills/android-wear-compose-m3/references/navigation3/SwipeDismissableSceneStrategySample.kt.md +205 -0
  369. package/skills/android-wear-compose-m3/references/navigation3/SwipeDismissableSceneStrategySample.kt.md.txt +205 -0
  370. package/skills/{architecture-feature-first → flutter-architecture-feature-first}/SKILL.md +1 -1
  371. package/skills/{bloc → flutter-bloc}/SKILL.md +1 -1
  372. package/skills/flutter-build-debug/SKILL.md +66 -0
  373. package/skills/{code-review → flutter-code-review}/SKILL.md +1 -1
  374. package/skills/{dart-3-updates → flutter-dart-3-updates}/SKILL.md +1 -1
  375. package/skills/{dart-fix-runtime-errors → flutter-dart-fix-runtime-errors}/SKILL.md +1 -1
  376. package/skills/{dart-resolve-package-conflicts → flutter-dart-resolve-package-conflicts}/SKILL.md +1 -1
  377. package/skills/{dart-run-static-analysis → flutter-dart-run-static-analysis}/SKILL.md +1 -1
  378. package/skills/{dart-use-pattern-matching → flutter-dart-use-pattern-matching}/SKILL.md +1 -1
  379. package/skills/{effective-dart → flutter-effective-dart}/SKILL.md +1 -1
  380. package/skills/{provider → flutter-provider}/SKILL.md +1 -1
  381. package/skills/{riverpod → flutter-riverpod}/SKILL.md +1 -1
  382. package/skills/ios-cocoapods-debug/SKILL.md +65 -0
  383. package/skills/ios-code-review/SKILL.md +56 -0
  384. package/skills/ios-xcode-build-debug/SKILL.md +66 -0
  385. package/skills/{detect-mobile-stack → mobile-detect-stack}/SKILL.md +1 -1
  386. package/skills/mobile-firebase/SKILL.md +54 -0
  387. package/skills/mobile-firebase/references/android/ai-logic.md +31 -0
  388. package/skills/mobile-firebase/references/android/analytics.md +33 -0
  389. package/skills/mobile-firebase/references/android/app-check.md +36 -0
  390. package/skills/mobile-firebase/references/android/auth.md +44 -0
  391. package/skills/mobile-firebase/references/android/crashlytics.md +31 -0
  392. package/skills/mobile-firebase/references/android/firestore.md +44 -0
  393. package/skills/mobile-firebase/references/android/functions.md +33 -0
  394. package/skills/mobile-firebase/references/android/in-app-messaging.md +28 -0
  395. package/skills/mobile-firebase/references/android/messaging.md +41 -0
  396. package/skills/mobile-firebase/references/android/realtime-database.md +50 -0
  397. package/skills/mobile-firebase/references/android/remote-config.md +43 -0
  398. package/skills/mobile-firebase/references/android/sql-connect.md +31 -0
  399. package/skills/mobile-firebase/references/android/storage.md +39 -0
  400. package/skills/mobile-firebase/references/android.md +30 -0
  401. package/skills/{firebase-ai/SKILL.md → mobile-firebase/references/flutter/ai-logic.md} +2 -8
  402. package/skills/{firebase-analytics/SKILL.md → mobile-firebase/references/flutter/analytics.md} +2 -8
  403. package/skills/{firebase-app-check/SKILL.md → mobile-firebase/references/flutter/app-check.md} +2 -8
  404. package/skills/{firebase-auth/SKILL.md → mobile-firebase/references/flutter/auth.md} +2 -8
  405. package/skills/{firebase-crashlytics/SKILL.md → mobile-firebase/references/flutter/crashlytics.md} +2 -8
  406. package/skills/{firebase-cloud-firestore/SKILL.md → mobile-firebase/references/flutter/firestore.md} +2 -8
  407. package/skills/{firebase-cloud-functions/SKILL.md → mobile-firebase/references/flutter/functions.md} +2 -8
  408. package/skills/{firebase-in-app-messaging/SKILL.md → mobile-firebase/references/flutter/in-app-messaging.md} +2 -8
  409. package/skills/{firebase-messaging/SKILL.md → mobile-firebase/references/flutter/messaging.md} +2 -8
  410. package/skills/{firebase-database/SKILL.md → mobile-firebase/references/flutter/realtime-database.md} +2 -8
  411. package/skills/{firebase-remote-config/SKILL.md → mobile-firebase/references/flutter/remote-config.md} +2 -8
  412. package/skills/{flutterfire-configure/SKILL.md → mobile-firebase/references/flutter/setup-flutterfire.md} +1 -8
  413. package/skills/{firebase-data-connect/SKILL.md → mobile-firebase/references/flutter/sql-connect.md} +2 -8
  414. package/skills/{firebase-storage/SKILL.md → mobile-firebase/references/flutter/storage.md} +2 -8
  415. package/skills/mobile-firebase/references/flutter.md +36 -0
  416. package/skills/mobile-firebase/references/ios/ai-logic.md +30 -0
  417. package/skills/mobile-firebase/references/ios/analytics.md +33 -0
  418. package/skills/mobile-firebase/references/ios/app-check.md +36 -0
  419. package/skills/mobile-firebase/references/ios/auth.md +48 -0
  420. package/skills/mobile-firebase/references/ios/crashlytics.md +34 -0
  421. package/skills/mobile-firebase/references/ios/firestore.md +53 -0
  422. package/skills/mobile-firebase/references/ios/functions.md +35 -0
  423. package/skills/mobile-firebase/references/ios/in-app-messaging.md +26 -0
  424. package/skills/mobile-firebase/references/ios/messaging.md +45 -0
  425. package/skills/mobile-firebase/references/ios/realtime-database.md +49 -0
  426. package/skills/mobile-firebase/references/ios/remote-config.md +44 -0
  427. package/skills/mobile-firebase/references/ios/sql-connect.md +33 -0
  428. package/skills/mobile-firebase/references/ios/storage.md +36 -0
  429. package/skills/mobile-firebase/references/ios.md +28 -0
  430. package/skills/mobile-firebase/references/react-native/ai-logic.md +32 -0
  431. package/skills/mobile-firebase/references/react-native/analytics.md +43 -0
  432. package/skills/mobile-firebase/references/react-native/app-check.md +35 -0
  433. package/skills/mobile-firebase/references/react-native/auth.md +50 -0
  434. package/skills/mobile-firebase/references/react-native/crashlytics.md +36 -0
  435. package/skills/mobile-firebase/references/react-native/firestore.md +45 -0
  436. package/skills/mobile-firebase/references/react-native/functions.md +28 -0
  437. package/skills/mobile-firebase/references/react-native/in-app-messaging.md +27 -0
  438. package/skills/mobile-firebase/references/react-native/messaging.md +46 -0
  439. package/skills/mobile-firebase/references/react-native/realtime-database.md +46 -0
  440. package/skills/mobile-firebase/references/react-native/remote-config.md +32 -0
  441. package/skills/mobile-firebase/references/react-native/sql-connect.md +11 -0
  442. package/skills/mobile-firebase/references/react-native/storage.md +30 -0
  443. package/skills/mobile-firebase/references/react-native.md +29 -0
  444. package/skills/mobile-test/SKILL.md +63 -0
  445. package/skills/mobile-test/references/android/setup/GUIDE.md +183 -0
  446. package/skills/mobile-test/references/android/setup/references/android/develop/ui/compose/testing/common-patterns.md +181 -0
  447. package/skills/mobile-test/references/android/setup/references/android/studio/preview/compose-screenshot-testing.md +255 -0
  448. package/skills/mobile-test/references/android/setup/references/android/training/dependency-injection/hilt-testing.md +447 -0
  449. package/skills/mobile-test/references/android.md +83 -0
  450. package/skills/{dart-collect-coverage/SKILL.md → mobile-test/references/flutter/coverage.md} +2 -11
  451. package/skills/{dart-generate-test-mocks/SKILL.md → mobile-test/references/flutter/generate-mocks.md} +2 -11
  452. package/skills/{flutter-add-integration-test/SKILL.md → mobile-test/references/flutter/integration-tests.md} +2 -11
  453. package/skills/{dart-migrate-to-checks-package/SKILL.md → mobile-test/references/flutter/migrate-to-checks.md} +2 -13
  454. package/skills/{mockito/SKILL.md → mobile-test/references/flutter/mockito.md} +1 -8
  455. package/skills/{mocktail/SKILL.md → mobile-test/references/flutter/mocktail.md} +1 -8
  456. package/skills/{patrol-e2e-testing/SKILL.md → mobile-test/references/flutter/patrol.md} +1 -8
  457. package/skills/{testing/SKILL.md → mobile-test/references/flutter/testing-guidelines.md} +1 -8
  458. package/skills/{dart-add-unit-test/SKILL.md → mobile-test/references/flutter/unit-tests.md} +2 -11
  459. package/skills/{flutter-add-widget-test/SKILL.md → mobile-test/references/flutter/widget-tests.md} +2 -11
  460. package/skills/mobile-test/references/flutter.md +44 -0
  461. package/skills/mobile-test/references/ios.md +79 -0
  462. package/skills/mobile-test/references/react-native.md +62 -0
  463. /package/skills/{dart-use-pattern-matching → flutter-dart-use-pattern-matching}/examples/json_patterns.dart +0 -0
@@ -0,0 +1,832 @@
1
+ syntax:
2
+ :
3
+
4
+ ```xml
5
+ <application android:allowTaskReparenting=["true" | "false"]
6
+ android:allowBackup=["true" | "false"]
7
+ android:allowClearUserData=["true" | "false"]
8
+ android:allowCrossUidActivitySwitchFromBelow=["true" | "false"]
9
+ android:allowNativeHeapPointerTagging=["true" | "false"]
10
+ android:appCategory=["accessibility" | "audio" | "game" |
11
+ "image" | "maps" | "news" | "productivity" | "social" | "video"]
12
+ android:backupAgent="string"
13
+ android:backupInForeground=["true" | "false"]
14
+ android:banner="drawable resource"
15
+ android:dataExtractionRules="string resource"
16
+ android:debuggable=["true" | "false"]
17
+ android:description="string resource"
18
+ android:enabled=["true" | "false"]
19
+ android:enableOnBackInvokedCallback=["true" | "false"]
20
+ android:extractNativeLibs=["true" | "false"]
21
+ android:forceQueryable=["true" | "false"]
22
+ android:fullBackupContent="string"
23
+ android:fullBackupOnly=["true" | "false"]
24
+ android:gwpAsanMode=["always" | "never"]
25
+ android:hasCode=["true" | "false"]
26
+ android:hasFragileUserData=["true" | "false"]
27
+ android:hardwareAccelerated=["true" | "false"]
28
+ android:icon="drawable resource"
29
+ android:intentMatchingFlags=["none" | "enforceIntentFilter" | "allowNullAction"]
30
+ android:isGame=["true" | "false"]
31
+ android:isMonitoringTool=["parental_control" | "enterprise_management" |
32
+ "other"]
33
+ android:killAfterRestore=["true" | "false"]
34
+ android:largeHeap=["true" | "false"]
35
+ android:label="string resource"
36
+ android:localeConfig="xml resource"
37
+ android:logo="drawable resource"
38
+ android:manageSpaceActivity="string"
39
+ android:name="string"
40
+ android:networkSecurityConfig="xml resource"
41
+ android:pageSizeCompat=["true" | "false"]
42
+ android:permission="string"
43
+ android:persistent=["true" | "false"]
44
+ android:process="string"
45
+ android:restoreAnyVersion=["true" | "false"]
46
+ android:requestLegacyExternalStorage=["true" | "false"]
47
+ android:requiredAccountType="string"
48
+ android:resizeableActivity=["true" | "false"]
49
+ android:restrictedAccountType="string"
50
+ android:supportsRtl=["true" | "false"]
51
+ android:taskAffinity="string"
52
+ android:testOnly=["true" | "false"]
53
+ android:theme="resource or theme"
54
+ android:uiOptions=["none" | "splitActionBarWhenNarrow"]
55
+ android:usesCleartextTraffic=["true" | "false"]
56
+ android:vmSafeMode=["true" | "false"] >
57
+ . . .
58
+ </application>
59
+ ```
60
+
61
+ contained in:
62
+ : `https://developer.android.com/guide/topics/manifest/manifest-element`
63
+
64
+ can contain:
65
+ : `https://developer.android.com/guide/topics/manifest/activity-element`
66
+
67
+ `https://developer.android.com/guide/topics/manifest/activity-alias-element`
68
+
69
+ `https://developer.android.com/guide/topics/manifest/meta-data-element`
70
+
71
+ `https://developer.android.com/guide/topics/manifest/service-element`
72
+
73
+ `https://developer.android.com/guide/topics/manifest/receiver-element`
74
+
75
+ `https://developer.android.com/guide/topics/manifest/profileable-element`
76
+
77
+ `https://developer.android.com/guide/topics/manifest/provider-element`
78
+
79
+ `https://developer.android.com/guide/topics/manifest/uses-library-element`
80
+
81
+ `https://developer.android.com/guide/topics/manifest/uses-native-library-element`
82
+
83
+ `https://developer.android.com/guide/topics/manifest/property-element`
84
+
85
+ description:
86
+
87
+ : The declaration of the application. This element contains subelements
88
+ that declare each of the application's components and has attributes
89
+ that can affect all the components.
90
+
91
+ Many of these attributes, such as
92
+ `icon`, `label`, `permission`, `process`,
93
+ `taskAffinity`, and `allowTaskReparenting`, set default values
94
+ for corresponding attributes of the component elements. Others, such as
95
+ `debuggable`, `enabled`, `description`, and
96
+ `allowClearUserData`, set values for the application as a whole and
97
+ aren't overridden by the components.
98
+
99
+ attributes
100
+ :
101
+
102
+ `android:allowTaskReparenting`
103
+ : Whether activities that the application defines can move from
104
+ the task that started them to the task they have an affinity for when that task
105
+ is next brought to the front. It's `"true"` if they can move, and
106
+ `"false"` if they must remain with the task where they started.
107
+ The default value is `"false"`.
108
+
109
+
110
+ The
111
+ `https://developer.android.com/guide/topics/manifest/activity-element`
112
+ element has its own
113
+ `https://developer.android.com/guide/topics/manifest/activity-element#reparent`
114
+ attribute that can override the value set here.
115
+
116
+ `android:allowBackup`
117
+
118
+ : Whether to let the application participate in the backup
119
+ and restore infrastructure. If this attribute is set to `"false"`, no
120
+ backup or restore of the application is ever performed, disabling all cloud backups
121
+ and device-to-device (D2D) transfers, even by a full-system backup that otherwise
122
+ causes all application data to save using `adb`. The default value of this
123
+ attribute is `"true"`. If your app processes sensitive data, you can keep
124
+ this attribute set to `"true"` and configure
125
+ [`android:dataExtractionRules`](https://developer.android.com/guide/topics/manifest/application-element#dataExtractionRules) to safely
126
+ exclude sensitive keys or temporary caches while preserving user preferences and
127
+ continuity.
128
+
129
+ **Note:**For apps targeting Android 12 (API level 31) or higher, this behavior
130
+ varies. On devices from some device manufacturers, you can't disable device-to-device migration
131
+ of your app's files.
132
+
133
+ However, you can disable cloud-based backup and restore of your app's files by setting
134
+ this attribute to `"false"`, even if your app targets Android 12 (API level 31) or
135
+ higher.
136
+
137
+
138
+ For more information, see the
139
+ [backup and restore](https://developer.android.com/about/versions/12/behavior-changes-12#backup-restore) section
140
+ of the page that describes behavior changes for apps targeting Android 12 (API level 31) or
141
+ higher.
142
+
143
+ `android:allowClearUserData`
144
+
145
+ : Whether to let the application reset user data. This data includes
146
+ flags, such as whether the user has seen introductory tooltips, as
147
+ well as user-customizable settings and preferences. The default value of this
148
+ attribute is `"true"`.
149
+
150
+ **Note:** Only apps that are part of the system image can
151
+ declare this attribute explicitly. Third-party apps can't include this
152
+ attribute in their manifest files.
153
+
154
+ For more information, see [Data backup overview](https://developer.android.com/guide/topics/data/backup).
155
+
156
+ `android:allowCrossUidActivitySwitchFromBelow`
157
+
158
+ : Specifies whether activities from other applications in the same task
159
+ can be launched on top of this application. If set to `"false"`,
160
+ activity launches that would replace this application in the user's view
161
+ are blocked.
162
+
163
+ The default value is `"true"`.
164
+
165
+ For more information, see the guide to
166
+ [Secure Background Activity Launches](https://developer.android.com/guide/components/activities/secure-bal).
167
+
168
+ `android:allowNativeHeapPointerTagging`
169
+
170
+ : Whether the app enables the Heap pointer tagging feature. The default value of
171
+ this attribute is `"true"`.
172
+
173
+ **Note:** Disabling this feature **doesn't** address the
174
+ underlying code health issue. Future hardware devices might not support this manifest tag.
175
+
176
+ For more information, see [Tagged Pointers](https://source.android.com/devices/tech/debug/tagged-pointers).
177
+
178
+ `android:appCategory`
179
+
180
+ : Declares the category of this app. Categories are used to cluster multiple apps
181
+ together into meaningful groups, such as when summarizing battery, network, or
182
+ disk usage. Only define this value for apps that fit well into one of
183
+ the specific categories.
184
+
185
+ Must be one of the following constant values.
186
+
187
+ | Value | Description |
188
+ |---|---|
189
+ | `accessibility` | Apps that are primarily accessibility apps, such as screen-readers. |
190
+ | `audio` | Apps that primarily work with audio or music, such as music players. |
191
+ | `game` | Apps that are primarily games. |
192
+ | `image` | Apps that primarily work with images or photos, such as camera or gallery apps. |
193
+ | `maps` | Apps that are primarily map apps, such as navigation apps. |
194
+ | `news` | Apps that are primarily news apps, such as newspapers, magazines, or sports apps. |
195
+ | `productivity` | Apps that are primarily productivity apps, such as cloud storage or workplace apps. |
196
+ | `social` | Apps that are primarily social apps, such as messaging, communication, email, or social network apps. |
197
+ | `video` | Apps that primarily work with video or movies, such as streaming video apps. |
198
+
199
+
200
+ `android:backupAgent`
201
+ : The name of the class that implements the application's backup agent,
202
+ a subclass of `https://developer.android.com/reference/android/app/backup/BackupAgent`. The attribute value is
203
+ a fully qualified class name, such as `"com.example.project.MyBackupAgent"`.
204
+ However, as a shorthand, if the first character of the name is a period,
205
+ for example, `".MyBackupAgent"`, it is appended to the
206
+ package name specified in the
207
+ `https://developer.android.com/guide/topics/manifest/manifest-element`
208
+ element.
209
+
210
+
211
+ There is no default. The name must be specific.
212
+
213
+ `android:backupInForeground`
214
+ : Indicates that
215
+ [Auto Backup](https://developer.android.com/guide/topics/data/autobackup) operations
216
+ can be performed on this app even if the app is in a foreground-equivalent
217
+ state. The system shuts down an app during auto backup operation,
218
+ so use this attribute with caution. Setting this flag to `"true"` can impact app
219
+ behavior while the app is active.
220
+
221
+ The default value is `"false"`, which means that the OS avoids
222
+ backing up the app while it's running in the foreground, such as a music app
223
+ that is actively playing music using a service in the
224
+ `https://developer.android.com/reference/android/app/Service#startForeground(int, android.app.Notification)` state.
225
+
226
+ `android:banner`
227
+ : A [drawable resource](https://developer.android.com/guide/topics/resources/drawable-resource)
228
+ providing an extended graphical banner for its associated item. Use with the
229
+ `<application>` tag to supply a default banner for all application activities or with the
230
+ [`<activity>`](https://developer.android.com/guide/topics/manifest/activity-element)
231
+ tag to supply a banner for a specific activity.
232
+
233
+ The system uses the banner to represent an app in
234
+ the Android TV home screen. Therefore, only specify this for applications with an activity that handles the
235
+ `https://developer.android.com/reference/android/content/Intent#CATEGORY_LEANBACK_LAUNCHER` intent.
236
+
237
+
238
+ This attribute is set as a reference to a drawable resource containing
239
+ the image, for example `"@drawable/banner"`. There is no default banner.
240
+
241
+
242
+ For more information, see [Provide a home screen banner](https://developer.android.com/training/tv/start/start#banner).
243
+
244
+ `android:dataExtractionRules`
245
+
246
+ :
247
+ Applications can set this attribute to an XML resource where they specify the
248
+ rules determining which files and directories can be copied from the device as part of backup or
249
+ transfer operations.
250
+
251
+
252
+ For information about the format of the XML file, see [Backup and restore](https://developer.android.com/about/versions/12/behavior-changes-12#backup-restore).
253
+
254
+ `android:debuggable`
255
+ : Whether the application can be debugged, even when running
256
+ on a device in user mode. It's `"true"` if it can be and `"false"`
257
+ if not. The default value is `"false"`.
258
+
259
+ `android:description`
260
+ : User-readable text about the application, which is longer and more descriptive than the application label.
261
+ The value is set as a reference to a string resource. Unlike the label, it can't be a raw string.
262
+ There is no default value.
263
+
264
+ `android:enabled`
265
+ : Whether the Android system can instantiate components of
266
+ the application. It's `"true"` if it can and `"false"`
267
+ if not. If the value is `"true"`, each component's
268
+ `enabled` attribute determines whether that component is enabled.
269
+ If the value is `"false"`, it overrides the
270
+ component-specific values, and all components are disabled.
271
+
272
+
273
+ The default value is `"true"`.
274
+
275
+ `android:enableOnBackInvokedCallback`
276
+
277
+ : This flag lets you opt out of predictive system animations at the app level.
278
+
279
+
280
+ Set `android:enableOnBackInvokedCallback=false` to turn off predictive back animations at the app level
281
+ and instruct the system to ignore calls to the `OnBackInvokedCallback` platform API.
282
+
283
+ `android:extractNativeLibs`
284
+ : This attribute indicates whether the package installer extracts native libraries from the
285
+ APK to the file system. If set to `"false"`, your native libraries are stored
286
+ uncompressed in the APK. Although your APK might be larger, your application loads faster
287
+ because the libraries load directly from the APK at runtime.
288
+
289
+
290
+ The default value of `extractNativeLibs` depends on `minSdkVersion` and the
291
+ version of AGP you're using. In most cases, the default behavior is probably what you want, and
292
+ you don't have to set this attribute explicitly.
293
+
294
+ `android:forceQueryable`
295
+
296
+ : Specifies whether this application is visible to all other applications
297
+ on the device, regardless of what those other applications declare in the
298
+ `<queries>` tags in their manifests.
299
+
300
+ The default value is `"false"`.
301
+
302
+ For more information, see the guide on
303
+ [automatic package visibility filtering](https://developer.android.com/training/package-visibility/automatic).
304
+
305
+ `android:fullBackupContent`
306
+ : This attribute points to an XML file that contains full backup rules for
307
+ [Auto Backup](https://developer.android.com/guide/topics/data/autobackup).
308
+ These rules determine what files get backed up. For more information, see the
309
+ [XML config syntax](https://developer.android.com/guide/topics/data/autobackup#XMLSyntax)
310
+ for Auto Backup.
311
+
312
+
313
+ This attribute is optional. If it is not specified, by default, Auto Backup
314
+ includes most of your app's files. For more information, see
315
+ [Files that are backed up](https://developer.android.com/guide/topics/data/autobackup#Files).
316
+
317
+ `android:fullBackupOnly`
318
+ : This attribute indicates whether to use
319
+ [Auto Backup](https://developer.android.com/guide/topics/data/autobackup) on devices
320
+ where it is available. If set to `"true"`, then your app performs
321
+ Auto Backup when installed on a device running Android 6.0 (API level 23) or
322
+ higher. On older devices, your app ignores this attribute and performs
323
+ [key/value backups](https://developer.android.com/guide/topics/data/keyvaluebackup).
324
+
325
+
326
+ The default value is `"false"`.
327
+
328
+ `android:gwpAsanMode`
329
+ : This attribute indicates whether to use
330
+ [GWP-ASan](https://developer.android.com/ndk/guides/gwp-asan), a native memory allocator feature that helps
331
+ find use-after-free and heap-buffer-overflow bugs.
332
+
333
+
334
+ The default value is `"never"`.
335
+
336
+ `android:hasCode`
337
+ : Whether the application contains any DEX code---that is, code using the
338
+ Kotlin or Java programming language.
339
+ It's `"true"` if it does and `"false"` if not. When the
340
+ value is `"false"`, the system doesn't try to load any application
341
+ code when launching components. The default value is `"true"`.
342
+
343
+
344
+ If the application includes native (C/C++) code, but no DEX code, this should
345
+ be set to `"false"`. If set to `"true"` when the APK
346
+ contains no DEX code, the app may fail to load.
347
+
348
+
349
+ **This property must account for code included in the application by
350
+ dependencies.** If the application depends on an AAR that uses
351
+ Java/Kotlin code, or directly on a JAR, `app:hasCode` must be
352
+ `"true"`, or omitted as that is the default.
353
+
354
+
355
+ For example, your app might support
356
+ [Play feature delivery](https://developer.android.com/platform/technology/app-bundle) and include feature
357
+ modules that don't generate any DEX files, which is bytecode optimized for the Android
358
+ platform. If so, you need to set this property to `"false"` in the module's manifest
359
+ file to avoid runtime errors.
360
+
361
+ `android:hasFragileUserData`
362
+ : Whether to show the user a prompt to
363
+ keep the app's data when the user uninstalls the app. The default value is `"false"`.
364
+
365
+ `android:hardwareAccelerated`
366
+ : Whether hardware-accelerated rendering is enabled for all
367
+ activities and views in this application. It's `"true"` if it is
368
+ enabled and `"false"` if not. The default value is `"true"` if you set
369
+ either [`minSdkVersion`](https://developer.android.com/guide/topics/manifest/uses-sdk-element#min)
370
+ or [`targetSdkVersion`](https://developer.android.com/guide/topics/manifest/uses-sdk-element#target)
371
+ to `"14"` or higher. Otherwise, it's `"false"`.
372
+
373
+ Starting from Android 3.0 (API level 11), a hardware-accelerated OpenGL renderer is
374
+ available to applications to improve performance for many common 2D graphics
375
+ operations. When the hardware-accelerated renderer is enabled, most operations
376
+ in Canvas, Paint, Xfermode, ColorFilter, Shader, and Camera are accelerated.
377
+
378
+
379
+ This results in smoother animations, smoother scrolling, and improved
380
+ responsiveness overall, even for applications that don't explicitly make use
381
+ the framework's OpenGL libraries.
382
+
383
+
384
+ Not all of the OpenGL 2D operations are accelerated. If you enable
385
+ the hardware-accelerated renderer, test your application so that it can
386
+ make use of the renderer without errors.
387
+
388
+
389
+ For more information, read the
390
+ [Hardware acceleration](https://developer.android.com/guide/topics/graphics/hardware-accel)
391
+ guide.
392
+
393
+ `android:icon`
394
+ : An icon for the application as whole and the default icon for
395
+ each of the application's components. See the individual
396
+ `icon` attributes for the
397
+ `https://developer.android.com/guide/topics/manifest/activity-element`,
398
+ `https://developer.android.com/guide/topics/manifest/activity-alias-element`,
399
+ `https://developer.android.com/guide/topics/manifest/service-element`,
400
+ `https://developer.android.com/guide/topics/manifest/receiver-element`, and
401
+ `https://developer.android.com/guide/topics/manifest/provider-element` elements.
402
+
403
+
404
+ This attribute is set as a reference to a drawable resource containing
405
+ the image, such as `"@drawable/icon"`. There is no default icon.
406
+
407
+ `android:intentMatchingFlags`
408
+
409
+ :
410
+ Use this attribute to fine-tune how the system matches incoming intents to app
411
+ components. By default, no special matching rules are applied.
412
+
413
+
414
+ This attribute can be specified on the `<application>` tag
415
+ as well as on component tags, including `<activity>`,
416
+ `<activity-alias>`, `<receiver>`,
417
+ `<service>`, and `<provider>`. The value
418
+ set on a component overrides the value set on the
419
+ `<application>` tag.
420
+
421
+
422
+ The value must be one or more of the following flags, separated by '`|`':
423
+
424
+ | Flag | Description |
425
+ |---|---|
426
+ | `none` | Disables all special matching rules for incoming intents. When specifying multiple flags, conflicting values are resolved by giving precedence to the `none` flag. |
427
+ | `enforceIntentFilter` | Enforces stricter matching for incoming intents: - Explicit intents must match the target component's intent filter. - Intents without an action don't match any intent filter. |
428
+ | `allowNullAction` | Relaxes the matching rules to allow intents without an action to match. This flag is used in conjunction with `enforceIntentFilter` to achieve the following behavior: - Explicit intents must match the target component's intent filter. - Intents without an action are allowed to match any intent filter. |
429
+
430
+ For more information, see the
431
+ [Safer Intents](https://developer.android.com/about/versions/16/behavior-changes-16#safer-intents)
432
+ section in the Android 16 (API level 36) behavior changes.
433
+
434
+ `android:isGame`
435
+ : Whether the application is a game. The system might group together applications classified
436
+ as games or display them separately from other applications. The default is `"false"`.
437
+
438
+ `android:isMonitoringTool`
439
+
440
+ : Indicates that this application is designed to monitor other individuals.
441
+
442
+ **Note:** If an app declares this attribute in its manifest, the developer must
443
+ follow the
444
+ [Stalkerware](https://support.google.com/googleplay/android-developer/answer/9888380#commercial-spyware)
445
+ policy to publish the app to Google Play.
446
+
447
+ There is no default value. The developer must specify one of the following values:
448
+
449
+ | Value | Description |
450
+ |---|---|
451
+ | `"parental_control"` | App caters to parental control and is specifically targeted at parents who want to keep their kids safe. |
452
+ | `"enterprise_management"` | App caters to enterprises that want to manage and track devices given to employees. |
453
+ | `"other"` | App caters to a use case not otherwise specified in this table. |
454
+
455
+ `android:killAfterRestore`
456
+
457
+ : Whether the application terminates after its
458
+ settings have been restored during a full-system restore operation.
459
+ Single-package restore operations never cause the application to
460
+ shut down. Full-system restore operations typically only occur once,
461
+ when the phone is first set up. Third-party applications don't normally
462
+ need to use this attribute.
463
+
464
+ The default is `"true"`, which means that after the application
465
+ finishes processing its data during a full-system restore, it terminates.
466
+
467
+ `android:largeHeap`
468
+
469
+ : Whether the application's processes are created with a large Dalvik heap. This applies to
470
+ all processes created for the application. It only applies to the first application loaded into a
471
+ process. If you're using a shared user ID to let multiple applications use a process, they all
472
+ must use this option consistently to avoid unpredictable results.
473
+
474
+ Most apps don't need this and instead focus on reducing their overall memory usage for
475
+ improved performance. Enabling this also doesn't guarantee a fixed increase in available memory,
476
+ because some devices are constrained by their total available memory.
477
+
478
+ To query the available memory size at runtime, use the methods `https://developer.android.com/reference/android/app/ActivityManager#getMemoryClass()` or `https://developer.android.com/reference/android/app/ActivityManager#getLargeMemoryClass()`.
479
+
480
+ `android:label`
481
+ : A user-readable label for the application as a whole and a default
482
+ label for each of the application's components. See the individual
483
+ `label` attributes for the
484
+ `https://developer.android.com/guide/topics/manifest/activity-element`,
485
+ `https://developer.android.com/guide/topics/manifest/activity-alias-element`,
486
+ `https://developer.android.com/guide/topics/manifest/service-element`,
487
+ `https://developer.android.com/guide/topics/manifest/receiver-element`, and
488
+ `https://developer.android.com/guide/topics/manifest/provider-element` elements.
489
+
490
+
491
+ The label is set as a reference to a string resource, so that
492
+ it can be localized like other strings in the user interface.
493
+ However, as a convenience while you're developing the application,
494
+ it can also be set as a raw string.
495
+
496
+ `android:localeConfig`
497
+
498
+ : A reference to an XML resource that specifies the list of locales
499
+ supported by the application. This is used by the system to support per-app
500
+ language preferences.
501
+
502
+ For more information, see the guide on
503
+ [per-app language preferences](https://developer.android.com/guide/topics/resources/app-languages).
504
+
505
+ `android:logo`
506
+ : A logo for the application as whole and the default logo for activities.
507
+ This attribute is set as a reference to a drawable resource containing
508
+ the image, such as `"@drawable/logo"`. There is no default logo.
509
+
510
+ `android:manageSpaceActivity`
511
+ : The fully qualified name of an `Activity` subclass that the system
512
+ launches to let users manage the memory occupied by the application
513
+ on the device. The activity is also declared with an
514
+ `https://developer.android.com/guide/topics/manifest/activity-element` element.
515
+
516
+ `android:name`
517
+ : The fully qualified name of an `https://developer.android.com/reference/android/app/Application`
518
+ subclass implemented for the application. When the application process
519
+ is started, this class is instantiated before any of the application's
520
+ components.
521
+
522
+
523
+ The subclass is optional. Most applications don't need one.
524
+ In the absence of a subclass, Android uses an instance of the base
525
+ `Application` class.
526
+
527
+ `android:networkSecurityConfig`
528
+
529
+ : Specifies the name of the XML file that contains your application's
530
+ [Network security
531
+ configuration](https://developer.android.com/training/articles/security-config). The value is a reference to the XML resource file
532
+ containing the configuration.
533
+
534
+ This attribute was added in API level 24.
535
+
536
+ `android:pageSizeCompat`
537
+
538
+ : Overrides the user or platform compatibility settings for 16 KB page
539
+ sizes, which lets you force page-agnostic compatibility mode on or off for
540
+ this application.
541
+
542
+ For more information, see the guide on
543
+ [supporting 16 KB page sizes](https://developer.android.com/guide/practices/page-sizes).
544
+
545
+ `android:permission`
546
+ : The name of a permission that clients need in order to interact
547
+ with the application. This attribute is a convenient way to set a
548
+ permission that applies to all of the application's components. It is
549
+ overwritten by setting the `permission` attributes of individual
550
+ components.
551
+
552
+
553
+ For more information about permissions, see the
554
+ [Permissions](https://developer.android.com/guide/topics/manifest/manifest-intro#perms)
555
+ section in the app manifest overview and
556
+ [Security tips](https://developer.android.com/guide/topics/security/security).
557
+
558
+ `android:persistent`
559
+ : Whether the application remains running at all times. It's
560
+ `"true"` if it does and `"false"` if not. The default value
561
+ is `"false"`. Applications don't normally set this flag.
562
+ Persistence mode is intended only for certain system applications.
563
+
564
+ `android:process`
565
+ : The name of a process where all components of the application run.
566
+ Each component can override this default by setting its own `process`
567
+ attribute.
568
+
569
+
570
+ By default, Android creates a process for an application when the first
571
+ of its components needs to run. All components then run in that process.
572
+ The name of the default process matches the package name set by the
573
+ `https://developer.android.com/guide/topics/manifest/manifest-element` element.
574
+
575
+
576
+ By setting this attribute to a process name that's shared with another
577
+ application, you can arrange for components of both applications to run in
578
+ the same process, but only if the two applications also share a
579
+ user ID and are signed with the same certificate.
580
+
581
+
582
+ If the name assigned to this attribute begins with a colon (`:`), a new
583
+ process, private to the application, is created when it's needed.
584
+ If the process name begins with a lowercase character, a global process
585
+ of that name is created. A global process can be shared with other
586
+ applications, reducing resource usage.
587
+
588
+ `android:restoreAnyVersion`
589
+ : Indicates that the application is prepared to attempt a restore of any
590
+ backed-up data set, even if the backup was stored by a newer version
591
+ of the application than is currently installed on the device. Setting
592
+ this attribute to `"true"` lets the Backup Manager
593
+ - `$1`
594
+ attempt a restore even when a version mismatch suggests that the data is incompatible. *Use with caution!*
595
+ - The default value of this attribute is `"false"`.
596
+
597
+ `android:requestLegacyExternalStorage`
598
+
599
+ : Whether the application wants to opt out of
600
+ [scoped storage](https://developer.android.com/training/data-storage/files/external-scoped).
601
+
602
+ **Note:** Depending on changes related to policy or app
603
+ compatibility, the system might not honor this opt-out request.
604
+
605
+ `android:requiredAccountType`
606
+ : Specifies the account type required by the application to function.
607
+ If your app requires an `https://developer.android.com/reference/android/accounts/Account`, the value for this attribute must
608
+ correspond to the account authenticator
609
+ type used by your app, as defined by `https://developer.android.com/reference/android/accounts/AuthenticatorDescription`,
610
+ such as `"com.google"`.
611
+
612
+ The default value is null and indicates that the application
613
+ can work *without* any accounts.
614
+
615
+
616
+ Because restricted profiles
617
+ can't add accounts, specifying this attribute makes your app
618
+ unavailable from a restricted profile unless you also declare
619
+ [`android:restrictedAccountType`](https://developer.android.com/guide/topics/manifest/application-element#restrictedAccountType) with
620
+ the same value.
621
+
622
+
623
+ **Caution:**
624
+ If the account data might reveal personally identifiable information, it's important
625
+ that you declare this attribute and leave [`android:restrictedAccountType`](https://developer.android.com/guide/topics/manifest/application-element#restrictedAccountType) null, so that restricted profiles cannot use
626
+ your app to access personal information that belongs to the owner user.
627
+
628
+
629
+ This attribute was added in API level 18.
630
+
631
+ `android:resizeableActivity`
632
+
633
+ :
634
+ Specifies whether the app supports [multi-window mode](https://developer.android.com/guide/topics/ui/multi-window).
635
+
636
+ > [!WARNING]
637
+ > **Warning:** To improve the layout of apps on form factors with smallest width \>= 600dp, the system ignores this attribute for apps that target Android 16 (API level 36). Your app can opt out of the Android 16 behavior, but the opt out will be eliminated in a future release. See [Device compatibility mode](https://developer.android.com/guide/practices/device-compatibility-mode#android_16).
638
+
639
+
640
+ You can set this attribute in either the [`<activity>`](https://developer.android.com/guide/topics/manifest/activity-element)
641
+ or `<application>` element.
642
+
643
+
644
+ If you set this attribute to `"true"`, the user can launch the activity in
645
+ split-screen and free-form modes. If you set the attribute to `"false"`, the app
646
+ can't be tested or optimized for a multi-window environment. The system can
647
+ still put the activity in multi-window mode with compatibility mode applied.
648
+
649
+
650
+ Setting this attribute to `"true"` doesn't guarantee that there are no
651
+ other apps in multi-window mode visible on screen, such as picture-in-picture, or
652
+ on other displays. Therefore, setting this flag doesn't mean that your app
653
+ has exclusive resource access.
654
+
655
+
656
+ For apps targeting API level 24 or higher, the default is `"true"`.
657
+
658
+
659
+ If your app targets API level 31 or higher, this attribute works differently on small and large
660
+ screens:
661
+
662
+ - **Large screens (sw \>= 600dp):** all apps support multi-window mode. The attribute indicates whether an app can be resized, not whether the app supports multi-window mode. If `resizeableActivity="false"`, the app is put into compatibility mode when necessary to conform to display dimensions.
663
+ - **Small screens (sw \< 600dp):** if `resizeableActivity="true"` and the minimum width and minimum height of the main activity are within the multi-window requirements, the app supports multi-window mode. If `resizeableActivity="false"`, the app doesn't support multi-window mode regardless of the activity minimum width and height.
664
+
665
+ > [!NOTE]
666
+ > **Note:**
667
+ >
668
+ > - Device manufacturers can override the API level 31 behavior to improve the layout of apps.
669
+ > - On devices with Android 16 (API level 36) or higher installed, virtual device owners (select trusted and privileged apps) can configure devices they manage to override (ignore) this attribute to improve app layout. See also [Companion app
670
+ > streaming](https://source.android.com/docs/core/permissions/app-streaming).
671
+ >
672
+ > See [Device compatibility mode](https://developer.android.com/guide/practices/device-compatibility-mode).
673
+
674
+
675
+ A task's root activity value is applied to all additional activities launched in the task. That is, if the root
676
+ activity of a task is resizable, then the system treats all other activities in the task as resizable. If the root
677
+ activity isn't resizable, the other activities in the task aren't resizable.
678
+
679
+
680
+ This attribute was added in API level 24.
681
+
682
+ `android:restrictedAccountType`
683
+ : Specifies the account type required by this application and indicates that restricted profiles
684
+ can access such accounts that belong to the owner user. If your app requires an
685
+ `https://developer.android.com/reference/android/accounts/Account` and restricted profiles *can*
686
+ access the primary user's accounts, the value for this attribute must
687
+ correspond to the account authenticator type used by your app, as
688
+ defined by `https://developer.android.com/reference/android/accounts/AuthenticatorDescription`, such as `"com.google"`.
689
+
690
+ The default value is null and indicates that the application can work *without* any
691
+ accounts.
692
+
693
+
694
+ **Caution:**
695
+ Specifying this attribute lets restricted profiles use your
696
+ app with accounts that belong to the owner user, which might reveal personally identifiable
697
+ information. If the account might reveal personal details, *don't*
698
+ use this attribute. Instead, declare the [`android:requiredAccountType`](https://developer.android.com/guide/topics/manifest/application-element#requiredAccountType) attribute
699
+ to make your app unavailable to restricted profiles.
700
+
701
+
702
+ This attribute was added in API level 18.
703
+
704
+ `android:supportsRtl`
705
+
706
+ : Declares whether your application is willing to support right-to-left (RTL) layouts.
707
+
708
+ If this is set to `"true"` and
709
+ [`targetSdkVersion`](https://developer.android.com/guide/topics/manifest/uses-sdk-element#target)
710
+ is set to 17 or higher, various RTL APIs are
711
+ activated and used by the system so your app can display RTL layouts.
712
+ If this is set to `"false"` or if `targetSdkVersion` is set to 16 or lower, the RTL APIs are ignored
713
+ or have no effect, and your app behaves the same regardless of the layout
714
+ direction associated to the user's locale choice. That is, your layouts are always left-to-right.
715
+
716
+ The default value of this attribute is `"false"`.
717
+
718
+ This attribute was added in API level 17.
719
+
720
+ `android:taskAffinity`
721
+ : An affinity name that applies to all activities within the application,
722
+ except for those that set a different affinity with their own
723
+ `https://developer.android.com/guide/topics/manifest/activity-element#aff`
724
+ attributes. See that attribute for more information.
725
+
726
+
727
+ By default, all activities within an application share the same
728
+ affinity. The name of that affinity is the same as the package name
729
+ set by the
730
+ `https://developer.android.com/guide/topics/manifest/manifest-element` element.
731
+
732
+ `android:testOnly`
733
+ : Indicates whether this application is only for testing purposes. For example,
734
+ it might expose functionality or data outside of itself that can cause a security
735
+ hole, but be useful for testing. This kind of APK only installs
736
+ through `https://developer.android.com/studio/command-line/adb`. You can't publish it to Google Play.
737
+
738
+ Android Studio automatically adds this attribute when you click **Run**
739
+ ![](https://developer.android.com/static/studio/images/buttons/toolbar-run.png).
740
+
741
+ `android:theme`
742
+ : A reference to a style resource defining a default theme for all
743
+ activities in the application. Individual activities can override
744
+ the default by setting their own `https://developer.android.com/guide/topics/manifest/activity-element#theme`
745
+ attributes. For more information, see [Styles and themes](https://developer.android.com/guide/topics/ui/themes).
746
+
747
+ `android:uiOptions`
748
+ : Extra options for an activity's UI. Must be one of the following values:
749
+
750
+ | Value | Description |
751
+ |---|---|
752
+ | `"none"` | No extra UI options. This is the default. |
753
+ | `"splitActionBarWhenNarrow"` | Adds a bar at the bottom of the screen to display action items in the *app bar* , also known as the *action bar*, when constrained for horizontal space, such as when in portrait mode on a handset. Instead of a small number of action items appearing in the app bar at the top of the screen, the app bar splits into the top navigation section and the bottom bar for action items. This means a reasonable amount of space is available for the action items and for the navigation and title elements at the top. Menu items aren't split across the two bars. They always appear together. |
754
+
755
+
756
+ For more information about the app bar, see [Add the app bar](https://developer.android.com/training/appbar).
757
+
758
+ This attribute was added in API level 14.
759
+
760
+ `android:usesCleartextTraffic`
761
+ : Indicates whether the app intends to use cleartext network traffic, such as cleartext HTTP.
762
+ The default value for apps that target API level 27 or lower is `"true"`. Apps that
763
+ target API level 28 or higher default to `"false"`.
764
+
765
+ **Note:**
766
+ This attribute is getting deprecated and will be ignored for apps targeting API levels 38 and above.
767
+ Specify a [Network Security Configuration](https://developer.android.com/training/articles/security-config#CleartextTraffic) to control cleartext traffic for API levels 24 and above.
768
+ If your app targets API levels 23 and below, you must specify `android:usesCleartextTraffic` in addition to a Network Security Config.
769
+
770
+
771
+ When the attribute is set to `"false"`, platform components, for example, HTTP and FTP
772
+ stacks, `https://developer.android.com/reference/android/app/DownloadManager`, and
773
+ `https://developer.android.com/reference/android/media/MediaPlayer`, refuse the
774
+ app's requests to use cleartext traffic.
775
+
776
+ Third-party libraries are strongly encouraged to honor this
777
+ setting as well. The key reason for avoiding cleartext traffic is the lack of confidentiality,
778
+ authenticity, and protections against tampering. A network attacker can eavesdrop on transmitted
779
+ data and also modify it without being detected.
780
+
781
+
782
+ This flag is honored on a best-effort basis because it's impossible to prevent all cleartext
783
+ traffic from Android applications given the level of access provided to them. For example, there's
784
+ no expectation that the `https://developer.android.com/reference/java/net/Socket` API honors
785
+ this flag, because it can't determine whether its traffic is in cleartext.
786
+
787
+ However, most
788
+ network traffic from applications is handled by higher-level network stacks and components, which can
789
+ honor this flag by either reading it from
790
+ `https://developer.android.com/reference/android/content/pm/ApplicationInfo#flags`
791
+ or
792
+ `https://developer.android.com/reference/android/security/NetworkSecurityPolicy#isCleartextTrafficPermitted()`.
793
+
794
+
795
+ **Note:**
796
+ `https://developer.android.com/reference/android/webkit/WebView` honors this attribute for
797
+ applications targeting API level 26 and higher.
798
+
799
+
800
+ During app development, StrictMode can be used to identify any cleartext traffic from the app.
801
+ For more information, see
802
+ `https://developer.android.com/reference/android/os/StrictMode.VmPolicy.Builder#detectCleartextNetwork()`.
803
+
804
+
805
+ This attribute was added in API level 23.
806
+
807
+
808
+ This flag is ignored on Android 7.0 (API level 24) and above if an Android Network Security
809
+ Config is present.
810
+
811
+ `android:vmSafeMode`
812
+ : Indicates whether the app wants the virtual machine (VM) to operate
813
+ in safe mode. The default value is `"false"`.
814
+
815
+ This attribute was added in API level 8, where a value of `"true"`
816
+ disabled the Dalvik just-in-time (JIT) compiler.
817
+
818
+
819
+ This attribute was adapted in API level 22, where a value of `"true"`
820
+ disabled the ART ahead-of-time (AOT) compiler.
821
+
822
+ introduced in:
823
+ : API level 1
824
+
825
+ see also:
826
+ : `https://developer.android.com/guide/topics/manifest/activity-element`
827
+
828
+ `https://developer.android.com/guide/topics/manifest/service-element`
829
+
830
+ `https://developer.android.com/guide/topics/manifest/receiver-element`
831
+
832
+ `https://developer.android.com/guide/topics/manifest/provider-element`